PHP函數太好用了,例如陣列的排序,通常都用sort()或asort()就處理掉了

導致很多基礎都忘掉了,把基礎的東西[排序]撿起來練習一下

以下是氣泡排序法的實作,重點在 list + each 的交換技巧

<?

function bubble_sort(&$array){

    $num = count($array);

    //只是做迴圈
    for($i = 0 ; $i < $num ; $i++){

        //從最後一個數字往上比較,如果比較小就交換
        for($j = $num-1 ; $j > $k ; $j--){

            if($array[$j] < $array[$j-1]){

                //交換兩個數值的小技巧,用list+each
                list($array[$j] , $array[$j-1]) = array($array[$j-1] , $array[$j]);

            }

        }

    }

    return $array;

}

//
測試
$rand_count=100;

for($k=0; $k<$rand_count ; $k++){

    $rand_array[] = rand(0,10000);

}

bubble_sort($rand_array);

print_r($rand_array);
?>



創作者介紹
創作者 miggo 的頭像
miggo

麥克的學習紀錄

miggo 發表在 痞客邦 留言(0) 人氣()