前言:冒泡排序是一種很大衆的排序算法,基本思路是,兩個相鄰的進行比較,若是知足條件,就交換位置,若是不知足,保持不變,依次循環到結束。算法
冒泡排序算法代碼以下:code
$arr = [36, 26, 8, 21, 6, 23, 1, 3, 16]; function bubbleSort($arr) { if (!is_array($arr)) { return false; } $count = count($arr); if ($count < 2) { return $arr; } for ($i = 0; $i < $count; $i++) { for ($k = $i + 1; $k < $count; $k++) { // $arr[$i] 和 $arr[$k] 是相鄰的兩個值 if ($arr[$i] > $arr[$k]) { // 前者大於後者,調換位置 // 若是想要按照從大到小進行排序,改成 $arr[$i] < $arr[$k] $temp = $arr[$i]; $arr[$i] = $arr[$k]; $arr[$k] = $temp; } } } return $arr; } print_r(bubbleSort($arr)); // Array ( [0] => 1 [1] => 3 [2] => 6 [3] => 8 [4] => 16 [5] => 21 [6] => 23 [7] => 26 [8] => 36 )