快速排序
来源:互联网 发布:知乎 特朗普 盗窃 编辑:程序博客网 时间:2024/05/22 13:27
快速排序是一种分治的递归算法,将数组S排序基本思路如下:
1.如果S元素个数小于等于1,返回
2.取S中任一元素x作为基准
3.将小于x的元素分配到数组S1中,将大于x的元素分配到S2中
4.递归将S1、S2排序
下面是快速排序的一种实现
void Qsort(int a[], int l, int h){if(l >= h) return;int i = l, j = h, x = a[l];while(i < j){while( i < j && a[j] >= x) j--;if(i < j) a[i] = a[j];while( i < j && a[i] <= x) i++;if(i < j) a[j] = a[i];}a[i] = x;Qsort(a,l,i-1);Qsort(a,i+1,h);}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 莫比乌斯反演小总结
- 动态流程对象
- MVC小计
- Android获取应用程序的大小
- Object-c 基础(一)
- 快速排序
- 验证
- Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
- Linux Shell的输入彩色字体
- <深入浅出>函数调用过程堆栈变化分析
- 算法导论 第9章 中位数和顺序统计量 C++实现
- Linux中source命令的用法
- z_devicetest apk 下载路径
- Java网络连接之HttpURLConnection与HttpClient 区别及联系(转)