首先了解快速排序的原理:
1、先取一个基值,用于每次的标准定位。
2、遍历数组,将大于基值的放到右边数组,小于的放到左边数组
3、将每次的左右数组和基值一起合并
代码实现:
//快速排序
function quick_sort($array){$count = count($array);if ($count<=1) {return $array;}//每次取最左边的值$key = $array[0];$leftArr = array();$rightArr = array();for ($i=1; $i<$count; $i++) {//放到左边 if ($array[$i]<=$key) {$leftArr[] = $array[$i];}else{//放到右边$rightArr[] = $array[$i];}}// print_r($leftArr);// echo "<br>";// print_r($rightArr);// echo "<br>";//递归调用$leftArr = quick_sort($leftArr);$rightArr = quick_sort($rightArr);//合并数组return array_merge($leftArr,array($key),$rightArr);}$arr = array(1,2,5,8,9,100,3,88,50,22);
// $arr = bubble_sort($arr);
$arr = quick_sort($arr);
// print_r($arr);