Cod sursa(job #1035450)

Utilizator roby2001Sirius roby2001 Data 18 noiembrie 2013 16:30:17
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
/*
          ~Keep It Simple!~
*/
 
#include <stdio.h>
int n,v[500001];


void sort(int left,int right)
{
	int i=left,mid= (left+right)/2,j = right;
	
	while(i<=j)
	{
		while( v[i] < v[mid] ) i++;
		while( v[j] > v[mid] ) j--;

		if(i<=j)
		{
			int aux = v[i];
			v[i] = v[j];
			v[j] = aux;
			i++;j--;
		}
	};
	
    if( left < j )
		sort ( left, j);
	if( i < right )
		sort ( i, right);
}

int main()
{
    freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);

	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&v[i]);
	sort(1,n);
	for(int i=1;i<=n;i++)
		printf("%d ",v[i]);
}