快速排序
来源:互联网 发布:oracle数据库添加字段 编辑:程序博客网 时间:2024/06/04 01:15
分两部分实现,函数sort()负责选定区间,函数Qsort()负责给选定区间的数值分大小
class QuickSort {public: int Qsort(int* a,int low,int high){ int key = a[low]; while (low < high){ while (low < high && a[high] >= key) --high; a[low] = a[high]; while (low < high && a[low] <= key) ++low; a[high] = a[low]; } a[low] = key; return low; } void sort(int* A,int left,int right){ if(left < right){ int key = Qsort(A,left,right); sort(A,left,key-1); sort(A,key+1,right); } } int* quickSort(int* A, int n) { // write code here sort(A,0,n-1); return A; }};
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- Lab1: 启动
- UITableViewController使用详解
- Java关键字null
- Dubbo协议
- Runtime-动态创建类添加属性和方法
- 快速排序
- Leetcode #60. Permutation Sequence 排列组合序列 解题报告
- 【VPS】尊云服务器怎么样我来评论
- BestCoder Round #82 ztr loves mat
- 执行过程 —— WEB项目启动、执行到销毁全过程总结
- 专题三 第五题
- iOS分类中通过runtime添加动态属性
- Horspool(字符串匹配)算法
- Unity Official Tutorial OF PICKING UP COLLECTABLES --- Player Movement & Collision Detection