1 /* 2 * 冒泡排序(從小到大) 3 * 介紹: 4 * 它重複地走訪過要排序的數列,一次比較兩個元素,若是他們的順序錯誤就把他們交換過來。 5 * 思路: 6 * 比較相鄰的元素。若是第一個比第二個大,就交換他們兩個。 7 * 對第0個到第n-1個數據作一樣的工做。這時,最大的數就「浮」到了數組最後的位置上 8 * 針對全部的元素重複以上的步驟,除了最後一個 9 * 持續每次對愈來愈少的元素重複上面的步驟,直到沒有任何一對數字須要比較 10 * 步驟: 假如10個數字 11 * 【 12 * 先找出10個數字中最大的拋出去,剩下9個數字 13 * 再找出9個數字最大的跑出去, 剩下8個數字 14 * 以此類推…… 15 * 】 16 * 怎麼找出一組數最大數字(冒泡): 17 * 【 18 * 將第1個與第2個比,大的日後排 19 * 將第2個與第3個比,大的日後排 20 * 以此類推…… 21 * 最後一個就是最大的 22 * 】
$order_array=array( 5,4,3,6,7,1,2,10,8,9 ); function bubble_order($arr){ //獲得長度 $count_num=count($arr); for($k=1;$k<$count_num;$k++){ //對長度愈來愈少的一組數據 找出最大讓其浮到最後 for($i=0;$i<$count_num-$k;$i++){ if($arr[$i]>$arr[$i+1]){//相鄰比較 $tem=$arr[$i]; $arr[$i]=$arr[$i+1]; $arr[$i+1]=$tem; } } } return $arr; } $new_order_arr=bubble_order($order_array); print_r($new_order_arr);