<?phpfunction quickSort($arr){ //先判断是否需要继续进行 $length = count($arr); if ($length <= 1) { return $arr; } //选择第一个元素作为基准 $base_num = $arr[0]; //遍历除了标尺外的所有元素,按照大小关系放入两个数组内 //初始化两个数组 $left_array = []; //小于基准的 $right_array = []; //大于基准的 for ($i = 1; $i < $length; $i++) { if ($base_num > $arr[$i]) //放入左边数组 $left_array[] = $arr[$i]; else //放入右边 $right_array[] = $arr[$i]; } //再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数 $left_array = quickSort($left_array); $right_array = quickSort($right_array); //合并 return array_merge($left_array, array($base_num), $right_array); }$arr1 = [1, 4, 5, 8, 2, 12, 23, 17];$arr2 = quickSort($arr1); var_dump($arr2);
相关推荐:
以上就是php之quicksort 快速排方法实例的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
- 上一篇:PHP中大数据处理思路实例分析
- 下一篇:PHP丢手帕问题实例详解
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论