PHP實現的代碼先奉上:
復制代碼 代碼如下:
function bubble_sort($array) {
for ($i = 0; $i < count($array) - 1; $i++) { //$i為已經排過序的元素個數
for ($j = 0; $j < count($array) - 1 - $i; $j++) { //$j為需要排序的元素個數,用總長減去$i
if ($array[$j] > $array[$j + 1]) { //按升序排序
$temp = $array[$j];
$array[$j] = $array[$j + 1];
$array[$j + 1] = $temp;
}
}
}
return $array;
}
$a = array(5, 1, 4, 7);
代碼執行過程:
復制代碼 代碼如下:
i = 0;
j = 0;
if($arr[0] > $arr[1]) => 5 > 1 條件成立,交換位置,形成新的數組 => 1 5 4 7 j++
if($arr[1] > $arr[2]) => 5 > 4 條件成立,交換位置, 形成新的數組 => 1 4 5 7 j++
if($arr[2] > $arr[3]) => 5 > 7 條件不成立 ,數組保持不變 , 1 4 5 7 j++ j=3 退出內層循環, i++
依次類推吧。