快速排序的原理:
将未排序的元素根据基准元素分为俩个未排序的子序列,其中一个子序列的值均大于基准元素,另外一个子序列的值均小于基准元素,然后对这俩子序列进行递归排序
function sor($data){
//获取数组长度
$len=count($data);
if ($len<=1){
return $data;
}
//获取基准元素
$base=$data[0];
$left=[];
$right=[];
//遍历数组
for ($i=0;$i<$len;$i++){
if ($data[$i]>$base){
$right[]=$data[$i];
}
if ($data[$i]<$base){
$left[]=$data[$i];
}
}
//递归排序
$left=sor($left);
$right=sor($right);
return array_merge($left,[$base],$right);
}
欢迎扫码关注公众号,有不足欢迎指正