冒泡排序是很经典,也是大家算法入门的第一个小算法吧,我今天再用PHP实现以下。还是先简单介绍下思路。
冒泡排序就是说,每次拿出第一个数字来,作为最小值(或者最大),然后从第二个开始和他依次比较,如果比他还小,换下位置嘛。 然后第一个数字经过第一次处理,就是最小的值。它的时间复杂度为O(n²)次。就是都按照最差的来, 比如1,2,3,这样,非要排位3,2,1.下面看代码
function handle()
{
$arr = array(2,13,11);
echo '排序前数据 '.implode(' ',$arr)."\n";
$res = bubbleSort( $arr );
echo '排序后数据 '.implode(' ',$res);
}
public function bubbleSort($arr)
{
$count = count($arr);
for ($i = 0 ; $i < $count-1; $i++) {
for ($j = $i + 1; $j < $count;$j++) {
if($arr[$i] < $arr[$j]){
$temp = $arr[$j];
$arr[$j] = $arr[$i];
$arr[$i] = $temp;
}
}
}
return $arr;
}