wikioi1076 排序(快速排序)
2013-09-23 21:30
169 查看
快速排序C++实现如下:
#include <iostream> using namespace std; int partition(int *a, int i, int j) { int pivot = a[i]; while(i<j) { while(i<j&&a[j]>=pivot) j--; if(i<j) a[i++] = a[j]; while(i<j&&a[i]<=pivot) i++; if(i<j) a[j--] = a[i]; } a[i] = pivot; return i; } void quickSort(int *a, int low, int high) { int pivot; if(low<high) { pivot = partition(a, low, high); quickSort(a, low, pivot-1); quickSort(a, pivot+1, high); } } int main() { int n,a[100000]; cin >> n; for(int i=0; i<n; i++) { cin >> a[i]; } quickSort(a, 0, n-1); for(int i=0; i<n; i++) cout << a[i] << " "; }
相关文章推荐
- 使用合并排序和快速排序对字符串按长度排序
- 排序算法-交换排序之快速排序
- 经典排序算法回顾:选择排序,快速排序
- 《github一天一道算法题》:快速排序和随机快速排序
- (示例)使用快速排序例程进行排序
- HNUST 1395日期排序 sort函数 快速排序
- 排序(四)之快速排序
- 3.排序--快速排序
- 算法 排序算法之交换排序--冒泡排序和快速排序
- 排序——快速排序
- 排序(冒泡、直接插入、快速排序)
- 排序(冒泡、直接插入、快速排序)
- 排序之快速排序
- 排序-快速排序(C版本)
- 排序5——快速排序的四种优化方案
- 算法——排序——快速排序
- 堆排序与快速排序效率比较
- 内部排序之四:归并排序和快速排序(含完整源码)
- lintcode 整数排序 II | 快速排序(Java)