快速排序 QuickSort
2012-09-29 17:51
417 查看
#include<iostream> using namespace std; void QuickSort(int a[],int first,int last) { if(first==last) return; int i=first,j=last; int tmp; tmp=(a[first]+a[last])/2; while(i!=j) { while((i<j)&&(a[i]<tmp)) i++; if(i<j) { swap(a[i],a[j]); j--; } } if((a[i]>=tmp)&&(i>=first)) { QuickSort(a,first,i-1); QuickSort(a,i,last); } else if((a[i]>=tmp)&&(i<=last)) { QuickSort(a,first,i); QuickSort(a,i+1,last); } } void main() { int a[8]={25,-5,288,-139,45,196}; int first=0,last=7; QuickSort(a,first,last); for(int i=0;i<8;i++) cout<<a[i]<<" "; }
这个快速排序,是把首位和末位的数据求平均加以比较,其中采用从左向右的顺序实现的。
相关文章推荐
- 排序算法笔记-快速排序 Quicksort
- 快速排序 quickSort
- 快速排序测试(QuickSort)
- (排序)快速排序QuickSort
- 快速排序 quicksort
- 快速排序 QuickSort Java代码
- 快速排序——QuickSort
- 快速排序在Top k问题中的运用(quickSort and quickSelect in Top k)
- 快速排序(QuickSort)
- 快速排序(Quicksort)学习笔记
- 快速排序(QuickSort)
- 算法第四版学习笔记之快速排序 QuickSort
- QuickSort 快速排序的分析与实现
- DualPivotQuicksort两枢轴快速排序
- 排序算法 之 快速排序 QuickSort
- QuickSort快速排序
- 快速排序(QuickSort)
- 【快速排序】QuickSort(三种实现方法)c++描述
- C++ 快速排序QuickSort的实现
- 【数据结构】快速(QuickSort)排序之——左右指针法