描述 快速排序算法是对冒泡排序算法的改进,其基本思想是通过设置一个初始的中间值,来将需要排序的数组分成3部分:小于中间值的左边数组,中间值,大于中间值的右边数组,使用递归用相同的方式来排序左边和右边,最后合并数组。 示例 function
快速排序算法是对冒泡排序算法的改进,其基本思想是通过设置一个初始的中间值,来将需要排序的数组分成3部分:小于中间值的左边数组,中间值,大于中间值的右边数组,使用递归用相同的方式来排序左边和右边,最后合并数组。
function sortQuick($array) { if (count($array) < 2) { return $array; } //基准值,一般取数组第一个元素 $key = $array[0]; //创建临时数组,以基准值为分界线,大于基准值的放在右侧,小于基准值的放在左侧 $left_arr = array(); $right_arr = array(); //循环数组与基准值比较 for ($i = 1; $i < count($array); $i++) { // 降序 将 <= 改为 > 即可 if ($array[$i] <= $key) { $left_arr[] = $array[$i]; } else { $right_arr[] = $array[$i]; } } //递归,将左右数组排序 $left_arr = $this->sortQuick($left_arr); $right_arr = $this->sortQuick($right_arr); //将排好序的临时数组合并 return array_merge($left_arr, array($key), $right_arr); }
来源地址:https://blog.csdn.net/qq_41669475/article/details/128150632
--结束END--
本文标题: PHP 快速排序
本文链接: https://www.lsjlt.com/news/411548.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0