快速排序PHP实现
来源:互联网 发布:java源代码怎么运行 编辑:程序博客网 时间:2024/05/22 23:42
/** * * 快速排序:不稳定,时间复杂度 最理想 O(nlogn) 最差时间O(n^2) * 快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后, * 使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置, * 而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小, * 右边各数都比它大。然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止。 * @param array $arr * @return array */function fastSort(array $arr){ if(count($arr) > 1){ $num = $arr[0]; $arrSmall = []; $arrBig = []; foreach ($arr as $item){ if($item>$num){ $arrBig[] = $item; }elseif($item<$num){ $arrSmall[] = $item; } } $arrSmall = fastSort($arrSmall); $arrBig = fastSort($arrBig); $arr = array_merge($arrSmall,[$num],$arrBig); }else{ return $arr; } return $arr;}
0 0
- PHP实现快速排序
- php实现快速排序
- PHP实现快速排序
- PHP实现快速排序
- 快速排序PHP实现
- PHP实现快速排序
- PHP实现快速排序
- php实现快速排序
- PHP实现快速排序
- php实现快速排序
- PHP实现快速排序
- PHP实现快速排序
- PHP实现快速排序
- php实现快速排序
- PHP实现快速排序
- PHP实现快速排序算法
- php快速排序的实现
- 004.PHP实现快速排序
- 算法练习-NOJ-1045-六数码问题
- 通过wireshark抓取视频流信息
- 第五周项目2(2)
- Objective-C Runtime 一小时入门教程(上)
- C#WebBrowser控件使用教程与技巧收集
- 快速排序PHP实现
- get/post请求中文乱码问题
- 总结最近一段时间的生活
- JavaScript中的正则表达式
- IOS textField 输入个数限制
- 100多个基础常用JS函数和语法集合大全
- ubuntu14.04 下配置编译cocos2d-x3.10
- 远程桌面连接常见问题解决方案
- [PHP实例] PHP中COOKIES使用示例