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);
?>