Pagini recente » Cod sursa (job #1002735) | Cod sursa (job #400942) | Cod sursa (job #803529) | Cod sursa (job #2624481) | Cod sursa (job #446165)
Cod sursa(job #446165)
#include<fstream.h>
int n,x[500001],y[500001];
void inter(int st,int m,int dr)
{
int i=st,j=m+1,k=st;
while(i<=m && j<=dr)
if(x[i]<x[j])y[k++]=x[i++];
else y[k++]=x[j++];
while(i<=m)y[k++]=x[i++];
while(j<=dr)y[k++]=y[j++];
for(i=st;i<=dr;i++)x[i]=y[i];
}
void sort(int st,int dr)
{
if(st<dr)
{
int m=st+(dr-st)/2;
sort(st,m);sort(m+1,dr);
inter(st,m,dr);
}
}
int main()
{
ifstream f("algsort.in");ofstream g("algsort.out");
int i;
f>>n;for(i=1;i<=n;i++)f>>x[i];
sort(1,n);
for(i=1;i<=n;i++)g<<x[i]<<' ';
f.close();g.close();
return 0;
}