快速排序
<?php
$a = [21,17,39,5,9,3,20,80,31,43,52];
function quick_sort($arr){
if(!is_array($arr)) return false;
//递归出口:数组长度为1,直接返回数组
$len = count($arr);
if($len<=1) return $arr;
$left=$right=array();
for($i=1;$i<$len;$i++){
if($arr[0]>$arr[$i]){
$left[] = $arr[$i];
}else{
$right[] = $arr[$i];
}
}
$left = quick_sort($left);
$right = quick_sort($right);
//注意将$arr[0],转化为数组
return array_merge($left,array($arr[0]),$right);
}
$b = quick_sort($a);
print_r($b);
?>