快速排序精简版总容易理解版
来源:互联网 发布:史丹利快报淘宝店铺 编辑:程序博客网 时间:2024/05/17 07:09
#include<iostream>#include<vector>using namespace std;void fast_sort(vector<int>& a,int begin,int end){if(begin < end){int flag = a[begin];int i = begin;int j = end;while(i < j){while(i < j && a[j] >= flag)j--;a[i] = a[j];while(i < j&& a[i] < flag)i++;a[j] = a[i];}a[i] = flag;fast_sort(a,begin,i-1);fast_sort(a,i+1,end);}}int main(){vector<int> res;res.push_back(3);res.push_back(1);res.push_back(2);res.push_back(5);res.push_back(4);res.push_back(9);res.push_back(7);res.push_back(8);fast_sort(res,0,7);for(int i = 0; i < res.size(); ++i){cout << res[i] << endl;}return 0;}
上面只有三个地方涉及到了替换操作
其中
a[i] = a[j];暂存在初始部分 初始部分已经存在flag里了
a[j] = a[i];前面发现的大值 直接放到后面来
a[i] = flag;最后用flag来填补前面发现大值的坑位
0 0
- 快速排序精简版总容易理解版
- 快速排序容易理解版
- C++快速排序 精简版
- 精简代码-快速排序
- 精简代码-快速排序
- 最容易理解的快速排序方法和程序
- 快速开发封装精简版
- 快速理解快速排序
- 容易理解的快速排序算法及其相关算法的总结(含java实现方法)
- 精简后的快速排序法
- 《排序算法一》:容易理解的 冒泡
- 最容易理解的排序算法
- 快速排序的理解
- 快速排序(更好理解)
- 快速排序(更好理解)
- 进一步理解快速排序
- 快速排序个人理解
- 理解快速排序法。
- js学习笔记第二篇:javascript字符串操作与java字符串操作异同探究
- 计算Java List中的重复项出现次数
- @query语句能直接返回bean吗
- 学生知识点总结之二
- 342. Power of Four*
- 快速排序精简版总容易理解版
- js实现table列表中的隔行变色
- hibernate+Struts2+jquery easyui 做分页处理时的一些问题
- Java 数组
- 使用GCD
- addShutdownHook+ @Scheduled(cron = "0 0/1 * * ?" )
- 调整数据库栏位的位置
- 【华为 OJ 】合法IP
- [USACO Training] Section 1.3