快速排序
来源:互联网 发布:淘宝网店技术 编辑:程序博客网 时间:2024/06/06 02:37
快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。
<?phpfunction quickSort($arr){ if(count($arr)>1){ $k=$arr[0]; $x=array(); $y=array(); $_size=count($arr); for($i=1;$i<$_size;$i++){ if($arr[$i]<=$k){ $x[]=$arr[$i]; }elseif($arr[$i]>$k){ $y[]=$arr[$i]; } } $x=quickSort($x); $y=quickSort($y); return array_merge($x,array($k),$y); }else{ return$arr; }}?>
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- ARM GPU 架构简介
- 不幸的问题还是出现了:Chromium代码上整理patch(working目录/master分支),部分文件做了git checkout恢复,结果GYP再编译就出错了
- Eclipse怎样连接并打开oracle等数据库
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
- JS学习笔记
- 快速排序
- Service中弹出Dialog Toast
- 你所不知道的C和C++运行库
- linux下文件与目录权限关系
- JAVA编程思想---基本数据类型总结(byte,char)
- ServletContext和ServletConfig
- JQuery -- this 和 $(this) 的区别
- 为什么递归是低效的!
- Android数据库高手秘籍(三)——使用LitePal升级表