初学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; } ?>
相关推荐:
Atas ialah kandungan terperinci PHP排序之冒泡排序. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!