Cod sursa(job #418855)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 16 martie 2010 16:10:31
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<cstdio>
using namespace std;
int v[500005],n;
void quick(int st,int dr)
{
	if(st<dr)
	{
		int d=0,i=st,j=dr,aux;
		while(i<j)
		{
			if(v[i]>v[j])
			{
				aux=v[i];
				v[i]=v[j];
				v[j]=aux;
				d=1-d;
			}
			i+=d;
			j-=1-d;
		}
		quick(st,i-1);
		quick(i+1,dr);
	}
}

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