1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<iostream> 5 using namespace std; 6 int n,a[100000]; 7 void qsort(int l,int r) 8 { 9 int i=l; 10 int j=r; 11 int x=a[(l+r)/2]; 12 do{ 13 while (a[i]<x) 14 i++; 15 while (a[j]>x) 16 j--; 17 if(j>=i) 18 { 19 int y=a[i]; 20 a[i]=a[j]; 21 a[j]=y; 22 i++; 23 j--; 24 } } 25 while (i<j); 26 if( l<j) 27 qsort(l,j); 28 if(i<r) 29 qsort(i,r); 30 31 32 } 33 int main(){ 34 int t; 35 scanf("%d",&t); 36 while(t--) 37 { 38 scanf("%d",&n); 39 for (int i=1;i<=n;++i) 40 { 41 scanf("%d",&a[i]); 42 } 43 qsort(1,n); 44 for (int i=1;i<=n-1;++i) 45 { 46 printf("%d ",a[i]); 47 } 48 printf("%d\n",a[n]); 49 } 50 return 0; 51 }
原文:http://www.cnblogs.com/fakerv587/p/5179920.html