#include<iostream>
using namespace std;
const int N=1e5+10;
int n;
int tm[N],a[N];
void qsort(int a[],int l,int r)
{
if(l>=r)
return ;
int mid=(l+r)>>1;
int k=0,i=l,j=mid+1;
qsort(a,l,mid);
qsort(a,mid+1,r);
while(i<=mid&&j<=r)
{
if(a[i]<=a[j]) tm[k++]=a[i++];
else tm[k++]=a[j++];
}
while(i<=mid)
tm[k++]=a[i++];
while(j<=r)
tm[k++]=a[j++];
for(i=l,j=0;i<r+1;i++,j++)
a[i]=tm[j];
}
int main()
{
scanf("%d",&n);//scanf耗时比cin小
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,0,n-1);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
归并排序-长度为n的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在
猜你喜欢
转载自blog.csdn.net/weixin_46443659/article/details/109962067
今日推荐
周排行