代码如下:
#include<iostream>
using namespace std;
int a[100005];
int n;
void fastsort(int l,int r){
if(l>=r)
return;
int ans=a[l];
int i=l,j=r;
int mid;
do{
i++;
if(a[i]>ans)
do{
j--;
if(a[j]<=ans){
swap(a[i],a[j]);
break;
}
}
while(i<=j);
}
while(i<=j);
mid=i;
swap(a[l],a[mid]);
if(l<mid)
fastsort(l,mid);
if(mid<r)
fastsort(mid+1,r);
return;
}
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
cin>>a[i];
fastsort(1,n);
for(int i=1; i<=n-1; i++)
cout<<a[i]<<" ";
cout<<a[n]<<endl;
return 0;
}