如何在按升序排序数组时减少迭代次数

时间:2017-04-08 10:08:42

标签: php arrays sorting

<?php

$array=array('2','4','5','1','3');

echo "Unsorted array is: ";
echo "<br />";
print_r($array);


for($j = 0; $j < count($array); $j ++) {

    echo "#"; // prints '#' for 5 times

    for($i = 0; $i < count($array)-1; $i ++){

        echo "@"; // prints '@' 20 times

        if($array[$i] > $array[$i+1]) {
            $temp = $array[$i+1];
            $array[$i+1]=$array[$i];
            $array[$i]=$temp;
        }       
    }
}

echo "Sorted Array is: ";
echo "<br />";
print_r($array);

?>

上面是使用冒泡排序按升序排序数组的代码。 如何在按升序排序数组时减少迭代次数?

我想减少内循环中'@'符号的迭代!

或者这种排序可以在最小的迭代中完成吗?

我不想使用php内置函数来排序数组

0 个答案:

没有答案