首先了解快速排序的原理:
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);