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 }