快速排序的原理:
将未排序的元素根据基准元素分为俩个未排序的子序列,其中一个子序列的值均大于基准元素,另外一个子序列的值均小于基准元素,然后对这俩子序列进行递归排序
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); }
欢迎扫码关注公众号,有不足欢迎指正