传送门:P1177 【模板】快速排序 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<iostream>
using namespace std;
int n,a[500001],b[500001];
void msort(int a[],int l,int r) {
if(l>=r) return;
int mid=l+r>>1,i=l,j=mid+1,k=l;
msort(a,l,mid);msort(a,mid+1,r);
while(i<=mid&&j<=r){
if(a[i]<a[j]) b[k++]=a[i++];
else b[k++]=a[j++];
}
while(i<=mid) b[k++]=a[i++];
while(j<=r) b[k++]=a[j++];
for(i=l;i<=r;i++)
a[i]=b[i];
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
msort(a,1,n);
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
}