php快速排序怎么将每一次的结果输出。
选一个基本值然后将数组比他小的放在左边比他大的放在右边。然后左右递归排序,重复操作最后输出结果,要求把每一次的结果都输出来
function quick_sort($array) {
if(count($array) <= 1) return $array;
$key = $array[0];
$rightArray = array();
$leftArray = array();
for($i = 1; $i < count($array); $i++) {
if($array[$i] >= $key) {
$rightArray[] = $array[$i];
} else {
$leftArray[] = $array[$i];
}
}
$leftArray = quick_sort($leftArray);
$rightArray = quick_sort($rightArray);
return array_merge($leftArray, array($key), $rightArray);
}
我也不会