本文实例讲述了PHP四种排序算法实现及效率分析。分享给大家供大家参考,具体如下:
一、排序算法
1-1. 冒泡排序
思路:想象一个大水池里有N多还未排好序列的气球,较大的先冒出来,然后依次是较小的往上冒。意思就是对数组进行多轮冒泡,每一轮对数组中的元素两两比较,调整位置,冒出一个最大的数来。
代码演示:
/*
- 冒泡排序
- @param $arr 所要排序的数组
- @return mixed 返回的数组
*/
function bubbleSort($arr){
$len = count($arr);
if ($len <= 1) {
return $arr;
}
for($i=1; $i<$len; $i++){ // 冒泡的轮数(最多$len-1轮)
// 每一轮冒泡(两两比较,大者后移)
for($j=0; $j<$len-1; $j++){
// 前者大于后者,则交换位置
if($arr[$j] > $arr[$j+1]){
$tmp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] =$tmp;
}
}
}
return $arr;
}