Pagini recente » Cod sursa (job #3263879) | Cod sursa (job #2647186) | Cod sursa (job #3251624) | Cod sursa (job #944630) | Cod sursa (job #274421)
Cod sursa(job #274421)
#include<stdio.h>
int v[50011],x[50011],n,i;
void merge(int p,int u){
if(p==u)return ;
int i,j,k,m=(p+u)>>1;
merge(p,m);
merge(m+1,u);
for(i=p,j=m+1,k=p;i<=m||j<=u;)
if(j>u||(v[i]<=v[j])&&i<=m)
x[k++]=v[i++];
else
x[k++]=v[j++];
for(i=p;i<=u;i++)
v[i]=x[i];
}
int main(){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
merge(1,n);
for(i=1;i<=n;i++)
printf("%d ",v[i]);
return 0;}