初學php,平常用到的演算法很少,但是基本的幾種演算法還是要掌握的,像是冒泡排序。本文主要跟大家分享PHP排序之冒泡排序,希望能幫助大家。
需求:分別用冒泡排序法將下面陣列中的值依照從小到的順序排序。
要排序的陣列:$arr(1,34,555,63,21,66,32,78,36,76,25);
思路分析:法如其名,就是像冒泡一樣,每次從數組當中冒一個最大的數出來。
例如:
* 2,4,1 // 第一次冒出的泡是4
* 2,1,4 // 第二次冒出的泡是2
* 1,2,4 // 最後變成這樣
<?php /* * 冒泡排序 * 按照从小到的顺序进行排序 * date 2017-1-20 * author 疯狂老司机 */ $arr=array(1,34,555,63,21,66,32,78,36,76,25); function bubble_sort($arr) { $len=count($arr); //设置一个空数组 用来接收冒出来的泡 //该层循环控制 需要冒泡的轮数 for($i=1;$i<$len;$i++) { //该层循环用来控制每轮 冒出一个数 需要比较的次数 for($k=0;$k<$len-$i;$k++) { if($arr[$k]>$arr[$k+1]) { $tmp=$arr[$k+1]; $arr[$k+1]=$arr[$k]; $arr[$k]=$tmp; } } } return $arr; } ?>
相關建議:
以上是PHP排序之冒泡排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!