/* * 快速排序.cpp * * Created on: 2018年4月9日 * Author: soyo */ #include<iostream> using namespace std; int main() { void quickSort(int a[],int low,int high); int a[]={8,7,5,2,4,6,10,9,40}; quickSort(a,0,9); for(int i=0;i<sizeof(a)/sizeof(int);i++) cout<<a[i]<<" "; } void quickSort(int a[],int low,int high) { int Partition(int a[],int low,int high); if(low<high) { int temp=Partition(a,low,high); quickSort(a,low,temp-1); quickSort(a,temp+1,high); } } int Partition(int a[],int low,int high) { int temp=a[low]; while(low<high) { while(low<high&&a[high]>=temp) high--; a[low]=a[high]; while(low<high&&a[low]<=temp) low++; a[high]=a[low]; } a[low]=temp; return low; }
结果:
2 4 5 6 7 8 9 10 40