1 #include<iostream> 2 using namespace std; 3 4 5 void print(int a[],int n) 6 { 7 for(int i=0;i<n;i++) 8 cout<<a[i]<<" "; 9 cout<<endl; 10 } 11 void quick_sort(int a[],int l,int r) 12 { 13 if(l<r) 14 { 15 int i=l,j=r,x=a[i]; 16 while(i<j) 17 { 18 while(i<j && a[j]>x) 19 j--; 20 if(i<j) 21 a[i++]=a[j];//j位置处变为空白区 22 while(i<j && a[i]<x) 23 i++; 24 if(i<j) 25 a[j--]=a[i];//i位置处变为空白区 26 } 27 a[i]=x;//x的最终位置 28 quick_sort(a,l,i-1); 29 quick_sort(a,i+1,r); 30 } 31 } 32 int main() 33 { 34 int a[10]={5,3,7,2,6,4,13,1,9,8}; 35 print(a,10); 36 quick_sort(a,0,9); 37 print(a,10); 38 return 0; 39 }
原文:http://www.cnblogs.com/zizaifeihuaqingsimeng/p/6198633.html