【快排】

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 int n;
 5 const int maxn=1e5+2;
 6 int s[maxn];
 7 
 8 void quick_sort(int l,int r)
 9 {
10     if(l>=r) return;
11     int x=s[l];
12     int i=l,j=r;
13     while(i<j)
14     {
15         while(i<j&&s[j]>=x) j--;
16         if(i<j) s[i++]=s[j];
17         while(i<j&&s[i]<x) i++;
18         if(i<j) s[j--]=s[i];
19     }
20     s[i]=x;
21     quick_sort(l,i-1);
22     quick_sort(i+1,r);
23 }
24 int main()
25 {
26     while(~scanf("%d",&n))
27     {
28         for(int i=1;i<=n;i++)
29         {
30             scanf("%d",&s[i]);
31         }
32         quick_sort(1,n);
33         for(int i=1;i<=n;i++)
34         {
35             printf("%d ",s[i]);    
36         }
37         printf("\n");
38     }
39     return 0;
40 }
View Code

 

posted @ 2017-09-18 20:17  shulin15  阅读(141)  评论(0编辑  收藏  举报