图解算法第二章快速排序使用PHP语言实现,仅供参考,错误之处,欢迎联系我纠正
<?php
function quickSort($list){
if(count($list)>=2){
$middle = array_shift($list);
$less = [];
$greate = [];
foreach($list as $key=>$value){
if($value<=$middle){
array_push($less,$value);
}else{
array_push($greate,$value);
}
}
$less = quickSort($less);
array_push($less,$middle);
$greate = quickSort($greate);
return arrayCombine($less,quickSort($greate));
}else{
return $list;
}
}
function arrayCombine($arr1,$arr2){
foreach($arr2 as $key=>$value){
$arr1[]=$value;
}
return $arr1;
}
print_r(quickSort([99, 93, 33, 55, 63, 23, 44, 32, 43, 312]));
print_r(quickSort([1, 2, 3]));
print_r(quickSort([1]));
print_r(quickSort([]));