Pagini recente » Cod sursa (job #1754348) | Cod sursa (job #1072022) | Cod sursa (job #2989942) | Cod sursa (job #1576661) | Cod sursa (job #446166)
Cod sursa(job #446166)
#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-1;
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]=x[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;
}