【排序算法】快速排序算法代码演示
来源:互联网 发布:淘宝母婴节是哪一天 编辑:程序博客网 时间:2024/04/30 20:08
快速排序的特点:
以某个记录为界(该记录称为支点或枢轴),将待排序列分成两部分:
①一部分: 所有记录的关键字大于等于支点记录的关键字
②另一部分: 所有记录的关键字小于支点记录的关键字
快速排序算法描述:
第一步:
任取待排序记录序列中的某个记录(例如取第一个记录)作为基准(枢),
按照该记录的关键字大小,将整个记录序列划分为左右两个子序列。第二步:
左侧子序列中所有记录的关键字都小于或等于基准记录的关键字 。
第三步:
右侧子序列中所有记录的关键字都大于基准记录的关键字。
第四步:
基准记录则排在这两个子序列中间(这也是该记录最终应安放的位置)。
第五步:
然后分别对这两个子序列重复施行上述方法,直到所有的记录都排在相应位置上为止。
【注意】:
①基准记录也称为枢轴(或支点)记录。
②取序列第一个记录为枢轴记录,其关键字为Pivotkey。
③指针low指向序列第一个记录位置,指针high指向序列最后一个记录位置。
【【简单的说】】:
对于快速排序,
①就是先找到一个枢轴,
②此枢轴将序列分为两个部分,
③左部分和右部分,
④左部分小于此枢轴,
⑤右部分大于等于此枢轴。
算法示例:::
【上边示例所使用的思想】:
游标high用于搜索比枢轴小的记录,
游标low用于搜索比枢轴大的记录,
搜索就和枢轴交换并切换游标。
【代码实现的方式】:
阅读全文
0 0
- 【排序算法】快速排序算法代码演示
- 快速排序算法代码
- 快速排序算法代码实现
- 快速排序算法 C++代码
- 算法导论:快速排序代码
- Lua快速排序算法+代码
- Lua快速排序算法+代码
- 排序算法演示程序
- 基础排序算法演示
- 排序算法演示
- GIF演示排序算法
- GIF演示排序算法
- 编程算法 - 快速排序算法 代码(C)
- 【算法导论】排序算法演示
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- golang中的数组与C中数组的区别
- 关于使用SSH框架分页的实现以及容易出错的地方
- data:image/png;base64
- React Native BLE蓝牙通信
- Javascript数组
- 【排序算法】快速排序算法代码演示
- 排序算法(三)堆排序原理与实现(小顶堆)
- Oracle PL/SQL开发基础(第十八弹:使用集合方法)
- POJ-棋盘问题
- Java实现交替排序
- 人民币的兑换
- 编写一个函数,求第n个斐波那契数。【递归 + 非递归】
- UVA 11582 Colossal Fibonacci Numbers! 规律题 练习unordered_set
- 对封装,继承,抽象类和接口的理解