冒泡排序的思想就是每次都拿相近的倆個數做對比.互換位置.
$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)