快速排序算法QuickSort(二)
来源:互联网 发布:php开源采集类 编辑:程序博客网 时间:2024/05/21 11:11
1.说明
这个快速排序算法是对前面的 快速排序算法QuickSort 一种改进。
只是修改了int Partition(int arry[],int start,int end)这个方法。
2.思路
仔细观察我们可以发现,我们前面Partition方法中,都需要swap(arry,start,end), 但是这一步中有些步骤是可以省略的。
在(<-end)过程中,碰到第一个小于等于pivot的元素时,只需要进行一次赋值arry[start]=arry[end]; 因为当前的arry[start]是值就是pivot ;
在(start->)过程中,碰到第一个大于等于pivot的元素之,只需要进行一次赋值arry[end]=arry[start]; 因为当前的arry[end]的值就是pivot的值。
整个过程中,不是start就是end指向pivot所存储的单元 ,所以在整个过程中,pivot没有必要每次通过swap来保存,只需要在最后找到pivotkey的时候, 令arry[pivotkey]=pivot即可。
具体修改如下代码实例。
3.改进的快速排序QuickSort
- 快速排序算法QuickSort(二)
- 快速排序算法(QuickSort)
- 排序算法 之 快速排序(quicksort)
- 排序算法(QuickSort快速排序)
- 【排序算法】-快速排序(QuickSort)
- 快速排序算法QuickSort
- 快速排序算法QuickSort
- 快速排序(QuickSort)算法
- QuickSort 快速排序算法
- QuickSort算法(快速排序)
- 【数据结构】排序算法(二)之交换排序之快速排序(QuickSort)
- 算法分析之排序:交换排序之二——快速排序(QuickSort)
- QuickSort - 快速排序算法(C++)
- QuickSort - 快速排序算法(C++)
- 【算法导论-010】快速排序(quickSort)
- Java快速排序(QuickSort)算法实现
- 快速排序(QuickSort)算法介绍
- 快速排序(quicksort)算法实现
- 字符编码总结
- UVa 10003 - Cutting Sticks
- VS2008 + Silverlight初步学习
- C语言对mysql数据库的操作
- JSP实例购物车
- 快速排序算法QuickSort(二)
- 代码民工--------不加思考的重复劳动是其宿命的根源
- 进程与线程
- 在asp.net2.0中使用Jquery调用Web Service
- PHP的ob_start();用法
- REST 概念
- UVa 116 - Unidirectional TSP
- VIEW GARBAGE COLLECTION OPERATION GRAPHICALLY
- 谁说不经典。?