include[HTML_REMOVED]
using namespace std;
const int N=100010;
int n;
int q[N],tep[N];
void merge_sort(int q[],int l,int r)
{
if(l>=r) return;//数组中元素个数为0或1
int mid=l+r>>1;//取的是中点下标,而不是值
merge_sort(q,l,mid);
merge_sort(q,mid+1,r);
int k=0;//记录已经合并的个数
int i=l;//第一个序列起点
int j=mid+1;//第二个起点
while(i<=mid&&j<=r)
{
if(q[i]<=q[j])
tep[k]=q[i];
else
tep[k]=q[j];
}
while(i<=mid)tep[k]=q[i];
while(j<=r)tep[k]=q[j];
for(i=l,j=0;i<=r;i,j)
q[i]=tep[j];//复制
}
int main()
{
cin>>n;
for(int i=0;i<n;i)
{
scanf(“%d”,&q[i]);
}
merge_sort(q,0,n-1);
for(int i=0;i<n;i)
{
printf(“%d “,q[i]);
}
return 0;
}