快速排序

 1 # include <iostream>
 2 using namespace std;
 3 void paixu(int,int); 
 4 int a[101];
 5 int main() //此函数用的是数字1 
 6 {
 7 int n, i;
 8 cin>>n;
 9 for(i=1;i<=n;i++) cin>>a[i];
10 paixu(1,n);
11 for(i=1;i<=n;i++) cout<<a[i]<<" ";
12 cout<<endl; 
13 }
14 void paixu(int l,int r) //此函数用的是字母l 
15 {
16 int i, j, p,mid;
17 i=l;
18 j=r;
19 mid=a[(l+r)/2];
20 do //此处用了do while 循环 
21 {
22 while(a[i]<mid) i++;
23 while(a[j]>mid) j--;
24 if(i<=j)
25 {
26 p=a[i];a[i]=a[j];a[j]=p;
27 i++;j--; 
28 }
29 }while(i<=j);
30 if(l<j) paixu(l, j);
31 if(i<r) paixu(i, r);
32 }

 

posted on 2016-07-16 10:38  冰樱梦  阅读(220)  评论(0)    收藏  举报

导航