php快速排序法

快速排序实现原理:采用分治的思想,先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。

<?php
function quickSort($arr){
//快速排序法,冒泡排序的一种改进。更快速高效。
if(count($arr)<=1){
return $arr;
}
//直接返回
$key=$arr[0];
//中间比较值
$left_arr=array();
$right_arr=array();

for($i=1;$i<count($arr);$i++){
if($arr[$i]<$key){
$left_arr[]=$arr[$i];
//小于比较值
}else{
$right_arr[]=$arr[$i];
}
}
$left_arr=quickSort($left_arr);
//递归左数组
$right_arr=quickSort($right_arr);
//递归右数组
$arr=array_merge($left_arr,array($key),$right_arr);
//组成排序后的数组并返回
return $arr;
}

$arr=array(56,35,82,21,55,91,72,28,12,49,60);
print_r(quicksort($arr));

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容