PHP冒泡排序与快速排序
1、冒泡排序
function sort($arr) { // 第一层可以理解为从数组中键为0开始循环到最后一个 for ($i = 0; $i < count($arr); $i++) { for ($j = $i + 1; $j < count($arr); $j++) {// 第二层为从$i+1的地方循环到数组最后 if ($arr[$i] > $arr[$j]) {// 比较数组中两个相邻值的大小 $tem = $arr[$i]; // 这里临时变量,存贮$i的值 $arr[$i] = $arr[$j]; // 第一次更换位置 $arr[$j] = $tem; // 完成位置互换 } } } }
2、快排
function quick_sort($array) { if (count($array) <= 1) return $array; $key = $array[0]; $left_arr = array(); $right_arr = array(); for ($i = 1; $i < count($array); $i++) { if ($array[$i] <= $key) $left_arr[] = $array[$i]; else $right_arr[] = $array[$i]; } $left_arr = $this->quick_sort($left_arr); $right_arr = $this->quick_sort($right_arr); return array_merge($left_arr, array($key), $right_arr); }