快速排序非递归
来源:互联网 发布:椭圆拟合算法 编辑:程序博客网 时间:2024/05/21 08:46
int Pritation(int arr[], int left, int right) { int tmp = a[left]; int i = left, j = right; while (i < j) { while (i > j&&arr[j] >= tmp) j--; if(i<j) arr[i]=arr[j]; while (i < j&&arr[i] <= tmp) i++; if(i<j) arr[j]=arr[i]; } arr[i] = tmp; return i; }void QuickSort(int arr[], int left,int right){ stack<int> s; int i, j; //(注意保存顺序)先将初始状态的左右指针压栈 temp.push(right);//先存右指针 temp.push(left);//再存左指针 while (!temp.empty()) { i = temp.top();//先弹出左指针 temp.pop(); j = temp.top();//再弹出右指针 temp.pop(); if (i < j) { int mid = Pritation(a, i, j); if (mid > i) { temp.push(mid - 1);//保存中间变量 temp.push(i); //保存中间变量 } if (j > mid) { temp.push(j); temp.push(mid + 1); } } }}
阅读全文
0 0
- 快速排序----非递归
- 快速排序 非递归
- 非递归快速排序
- 快速排序 非递归
- 快速排序非递归
- 非递归快速排序算法
- 快速排序非递归算法
- 快速排序(非递归)
- 快速排序非递归算法
- 快速排序非递归方法
- 快速排序非递归实现
- 快速排序非递归实现
- 快速排序(非递归算法)
- 非递归的快速排序
- 快速排序非递归实现
- 非递归实现快速排序
- 快速排序 非递归算法
- 非递归快速排序算法
- SVN常用命令
- 算法导论思考题15.2(最长回文子序列)
- 使用MyEclipse新建maven项目时报An internal error occurred during: "Retrieving archetypes:". GC overhead limit
- 复盘王者荣耀手游开发全过程,Unity引擎使用帧同步放弃状态同步
- 线性筛法求素数
- 快速排序非递归
- openssl基本原理 + 生成证书
- 2017.11.8总结
- 随笔小计二
- sqlplus不是内部或外部命令
- 回溯法
- rsync命令
- javaIO基础
- Http协议基础