Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在按升序排序数组时减少迭代次数_Php_Arrays_Sorting - Fatal编程技术网

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

Php 如何在按升序排序数组时减少迭代次数,php,arrays,sorting,Php,Arrays,Sorting,上面是使用冒泡排序按升序排序数组的代码。 如何在按升序排序数组时减少迭代次数 我想减少内部循环中“@”符号的迭代次数 或者这种排序可以在最少的迭代中完成吗 我不想使用php内置函数对数组进行排序这个问题已经在您实现的“气泡排序”算法中得到了解答,该算法确实有效,但效率低下。我建议你开始读一些关于不同排序算法的书,关于这方面有很多很好的文献,因为这是计算机科学中一个很好理解的话题。我不认为我的问题和可能重复的问题一样 <?php $array=array('2','4','5','1','

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

我想减少内部循环中“@”符号的迭代次数

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


我不想使用php内置函数对数组进行排序

这个问题已经在您实现的“气泡排序”算法中得到了解答,该算法确实有效,但效率低下。我建议你开始读一些关于不同排序算法的书,关于这方面有很多很好的文献,因为这是计算机科学中一个很好理解的话题。我不认为我的问题和可能重复的问题一样
<?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);

?>