冒泡排序的思想就是每次都拿相近的俩个数做对比.互换位置.
$arr = array(2,34,43,45);
function maopao($arr){
$num = count($arr)-1;
for($i=0;$i<$num;$i++){
for($j=0;$j<$num-$i;$j++){
if($arr[$j] > $arr[$j+1]){
$tmp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
return $arr;
}
var_dump(maopao($arr));
第一个循环是共计需要多少次对比,一共有3个数字的话.则需要2次对比即可.因为当最后一个数字的时候是没有对比的
第二个循环是永远前面的数和后面的数字做对比.但是不需要将末位已经对比好的数字再进行对比.
冒泡排序的核心是双重嵌套循环,时间复杂度是 O(N*N)