Cod sursa(job #1081447)

Utilizator AllxCucuCucu Alexandru AllxCucu Data 13 ianuarie 2014 17:16:03
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#define max 500005
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
void mergesort(int a[max],int st, int m, int dr) 
{
	int b[max]; 
	int i,j,k;
	i=0; j=st;
	while (j <= m) 
b[i++] = a[j++]; 
i = 0; k = st; 
while (k < j && j <= dr) 
if (b[i] <= a[j]) 
a[k++] = b[i++]; 
else
a[k++] = a[j++]; 
while (k < j) 
a[k++] = b[i++]; 
}
void merge(int a[max],int st, int dr) 
{
	if (st < dr) 
	{
		int m = (st+dr)/2; 
		merge(a,st, m); 
		merge(a,m+1, dr); 
		mergesort(a,st, m, dr); 
	}
}
int main()
{
	int a[max],i,n,st,dr;
	cin>>n;
	for(i=0; i<n; i++)
	cin>>a[i];
st=0; dr=n-1;	
merge(a, st, dr);
for(i=0; i<n; i++)
cout<<a[i];
return 0;
}