算法原理
冒泡排序算法的運作如下:(從後往前)
- 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。所以第一次兩兩比較完,會有一個最大數放在最後。第二次兩兩比較完,第二大的數會被放在倒數第二。
- 重複以上的步驟,已經放好的數字不用再比較。
- 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
PHP實現冒泡排序
<?php
function bubbleSort($arr) {
$count = count($arr);
for ($i = 0; $i < $count - 1; $i++) {
for ($j = 0; $j < $count - $i - 1; $j++) {
if ($arr[$j] > $arr[$j+1]) {
$temp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $temp;
}
}
}
return $arr;
}
$arr = [15, 3, 6, 43, 132, 4, 28, 39, 99, 2];
$res = bubbleSort($arr);
print_r($res);