$arr = [12,3,2,32,1,100,66];
function quick_sort($arr){
if(!is_array($arr)) return false;
if(count($arr)<=1) return $arr;
$left = $right = [];
//取出第一个元素进行分治
for($i=1;$i<count($arr);$i++){
if($arr[$i]<$arr[0]){
$left[] = $arr[$i];
}else{
$right[] = $arr[$i];
}
}
//分别进行递归
$left = quick_sort($left);
$right = quick_sort($right);
//合并数据
return array_merge($left,array($arr[0]),$right);
}
$sort_arr = quick_sort($arr);
print_r($sort_arr);
快速排序
最新推荐文章于 2024-07-17 10:35:12 发布