当前位置:Gxlcms > PHP教程 > php冒泡排序解决思路

php冒泡排序解决思路

时间:2021-07-01 10:21:17 帮助过:5人阅读

php冒泡排序
搜索了哈php冒泡排序,网上写的不知道第二层循环都是递减的,很不符合我的习惯,既然是冒泡肯定是从下往上啊,所以索性自己写了个分享哈!
  1. <br>
  2. <br>
  3. <!--?php<br /-->
  4. $ar = array(1,3,2,8,3,5,6,10,13,27,24);<br>
  5. bubble_sort($ar);<br>
  6. print_r($ar);<br>
  7. function bubble_sort(&$ar)<br>
  8. {<br>
  9. $ar_count = count($ar);<br>
  10. $temp = null;<br>
  11. for($i= 0 ; $i < $ar_count; $i ++)<br>
  12. {<br>
  13. for($j = 0 ; $j < $ar_count - $i - 1; $j++)<br>
  14. {<br>
  15. if($ar[$j] > $ar[$j+1])<br>
  16. {<br>
  17. $temp = $ar[$j];<br>
  18. $ar[$j] = $ar[$j+1];<br>
  19. $ar[$j+1] = $temp;<br>
  20. }<br>
  21. }<br>
  22. }<br>
  23. }<br>
php 冒泡排序


------解决方案--------------------
  1. $ar = array(24,1,3,2,8,3,5,6,10,13,27);<br>
  2. bubble_sort($ar);<br>
  3. <br>
  4. function bubble_sort(&$ar)<br>
  5. {<br>
  6. $ar_count = count($ar);<br>
  7. $temp = null;<br>
  8. for($i= 0 ; $i < $ar_count; $i ++)<br>
  9. {<br>
  10. for($j = 0 ; $j < $ar_count - $i - 1; $j++)<br>
  11. {<br>
  12. if($ar[$j] > $ar[$j+1])<br>
  13. {<br>
  14. $temp = $ar[$j];<br>
  15. $ar[$j] = $ar[$j+1];<br>
  16. $ar[$j+1] = $temp;<br>
  17. }<br>
  18. }<br>
  19. echo join(',', $ar), PHP_EOL; //观察这里的
输出
}
}1,3,2,8,3,5,6,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27 到这里排序已经结束
1,2,3,3,5,6,8,10,13,24,27 从这里开始,以下都是无效劳动
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27

大有优化的余地

人气教程排行