Cod sursa(job #429155)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 29 martie 2010 21:17:28
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>

int a[500001];

void quick (int st,int dr)
{
	int i,j,aux;
	int m=(st+dr)/2;
	i=st; j=dr;
	while (a[i]<a[m]) i++;
	while (a[j]>a[m]) j--;
	if (i<=j)
	{
		aux=a[i];
		a[i]=a[j];
		a[j]=aux;
		i++;
		j--;
	}
	if (st<j) quick(st,j);
	if (i<dr) quick(i,dr);
}
int main ()
{
	int i,n;
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);
	scanf("%d",&n);
	for (i=1; i<=n; i++)
		scanf("%d",&a[i]);
	quick(1,n);
	for (i=1; i<=n; i++)
		printf("%d ",a[i]);
	return 0;
}