php快速排序是什么
2023-03-20 14:44:21 时间
本文操作系统:windows7系统、PHP5.6版本、DELL G3电脑。
1.概念
快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行快速排序,整个排序过程可以递归进行,以达到整个序列有序的目的。
2.排序步骤
找到当前数组中的任意一个元素,作为标准,新建两个空数组,遍历整个数组元素,遍历到的元素比当前元素要小,那么放到左边的数组;如果要大,放到另外一个数组中。
递归思路
(1)递归点:如果两个数组的元素大于1,就需要再进行分解
(2)递归出口:数组元素变成1的时候
3.实例
<?php // 快速排序 function quickOrder($arr) { // 判断是否需要运行,下面要拿出一个中间值 if (count($arr)<=1) { return $arr; } $middle = $arr[0]; // 中间值 $left = array(); $right = array(); for ($i = 1; $i < count($arr); $i++) { if ($middle < $arr[$i]) { $right[] = $arr[$i]; } else { $left[] = $arr[$i]; } } // 递归排序划分好的2边数组 $left = quickOrder($left); $right = quickOrder($right); return array_merge($left, array($middle), $right); } $arr = array(5, 2, 7, 6, 9, 3); $res = quickOrder($arr); var_dump($res);
以上就是php快速排序的初步介绍,相信对于这种最快的排序方法,大家已经有所掌握。学会之后,在遇到类似数组排序的问题,可以优先选择快速排序的方法。更多php学习指路:php数组
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十