算法1: 冒泡

冒泡排序的思想就是每次都拿相近的倆個數做對比.互換位置.

$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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章