#include<iostream>
using namespace std;
const int N=
1000010;
int a[N],q[N];
void merge_sort(
int a[],
int l,
int r){
if(l>=r)
return ;
int mid=l+r>>
1;
merge_sort(a,l,mid),merge_sort(a,mid+
1,r);
int i=l,j=mid+
1,k=
0;
while(i<=mid&&j<=
r){
if(a[i]<a[j])q[k++]=a[i++
];
else q[k++]=a[j++
];
}
while(i<=mid)q[k++]=a[i++
];
while(j<=r)q[k++]=a[j++
];
for(i=l,j=
0;i<=r;i++,j++)a[i]=
q[j];
}
int main(
void){
int n;
cin>>
n;
for(
int i=
0;i<n;i++)cin>>
a[i];
merge_sort(a,0,n-
1);
for(
int i=
0;i<n;i++)cout<<a[i]<<
' ';
return 0;
}
转载于:https://www.cnblogs.com/programyang/p/11147908.html
转载请注明原文地址: https://win8.8miu.com/read-20322.html