快速排序算法的实验
来源:互联网 发布:js水仙花数 编辑:程序博客网 时间:2024/06/01 10:58
快速排序算法
- 原理
从数列中挑出一个元素,称为 “基准”(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 - 代码
<?phpfunction quick_sort($arr){ $len = count($arr); $left = $right = array(); for ($i = 1; $i < $len; $i++) { if ($arr[$i] <= $arr[0]) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } $left = quick_sort($left); $right = quick_sort($right); $final = array_merge($left, array($arr[0]), $right); return $final;}$brr = array(2,32,42342,212,0.1,-0.2,321,-889);echo quick_sort($brr);
3.效果
出现了内存不足的通知,我又更改了php配置文件,还是不行。。。原理的话,是没有问题。
阅读全文
0 0
- 快速排序算法的实验
- 排序算法的实验
- 《算法》实验一归并排序与快速排序 时间的比较
- 《算法导论》实验一:快速排序算法及其优化
- 冒泡排序算法的实验
- 选择排序算法的实验
- 插入排序算法的实验
- 希尔排序算法的实验
- 快速排序算法的实现
- 快速排序算法的改进
- 快速排序算法的实现
- 一个快速排序的算法
- 快速排序的算法思想
- 随机的快速排序算法
- 快速排序的改进算法
- 快速排序的优化算法
- 快速排序,古老的算法
- 一个快速排序的算法
- Linux 入侵检测
- android sudo and shell
- 无头单链表排序
- bzoj3701,大力莫比乌斯反演
- 如何学习Linux
- 快速排序算法的实验
- Linux-awk命令
- Android对话框Dialog和DialogFragment
- UTF8 编码原理简介
- twisted之defer延迟
- 一篇无聊的博客--当我有了我的新电脑,我该怎样去配置?
- PAT (Basic Level) Practise (中文) 1027. 打印沙漏(20)
- H5 实现一个正方体旋转
- JAVA进制及进制之间的转换