Cod sursa(job #251608)

Utilizator ZillaMathe Bogdan Zilla Data 2 februarie 2009 23:13:24
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

int n,v[500001];

void qsort(int a,int b)
{
	int i=a,j=b,tmp,x;
	x=v[(a+b)/2];
	do
	{
		while(v[i]<x) ++i;
		while(v[j]>x) --j;
		if(i<=j)
		{
			tmp=v[i];
			v[i]=v[j];
			v[j]=tmp;
			++i;
			--j;
		}
	}
	while(i<j);
	if(a<j)	  qsort(a,j);
	if(i<b)	  qsort(i,b);
}

int main()
{
    int i;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;++i)
        scanf("%d",&v[i]);
    qsort(1,n);
    for(i=1;i<=n;++i)
        printf("%d ",v[i]);
    return 0;
}