前言:冒泡排序是一种很大众的排序算法,基本思路是,两个相邻的进行比较,若是知足条件,就交换位置,若是不知足,保持不变,依次循环到结束。算法
冒泡排序算法代码以下: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 )