#include<iostream> #include<cstring> #define N 100000+10 using namespace std; int a[N],n,s; void q_sort(int l,int r) { int i=l,j=r,mid=a[(l+r)/2]; while(i<=j){ while(a[i]<mid)i++; while(a[j]>mid)j--; if(i<=j)swap(a[i],a[j]),i++,j--;//这里必须要i++,j--,如果a[i]==mid,就会卡住 } if(l<j)q_sort(l,j); if(i<r)q_sort(i,r); return; } int main() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; q_sort(1,n); for(int i=1;i<=n;i++)cout<<a[i]<<" "; cout<<endl; }