#include<iostream>
using namespace std;
int a[1000]={};
int n;
void tryy(int l,int r)
{
int i=l,j=r;
int 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--;}
}
if(l<j) tryy(l,j);
if(i<r) tryy(i,r);
}
int main()
{
int i;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
tryy(1,n);
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
system("pause");
return 0;
}
//代码有错误
可以的话高手们帮忙解决一下并且回答上面的注释,谢谢!