Cod sursa(job #446158)

Utilizator voikybodea voichita voiky Data 25 aprilie 2010 11:53:21
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#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]<y[j])y[++k]=x[i++];
		else y[++k]=y[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()
{
	fstream 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 1;
}