Cod sursa(job #371543)

Utilizator GotenAmza Catalin Goten Data 5 decembrie 2009 18:59:18
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>

using namespace std;

long a[500000];

void qs(long l, long r)
{
	long i=l-1,j=r,v=a[r],aux;
	if(r>l)
	{
		for(;;)
		{
			while(a[++i]<v);
			while(a[--j]>v)if(j==l)break;
			if(i>=j)break;
			aux=a[i];
			a[i]=a[j];
			a[j]=aux;
		}
		aux=a[i];
		a[i]=a[r];
		a[r]=aux;
		qs(l,i-1);
		qs(i+1,r);
	}
}

int main()
{
	long n,i;
	ifstream f("algsort.in");
	ofstream g("algsort.out");
	f>>n;
	for(i=1;i<=n;i++)f>>a[i];
	qs(1,n);
	for(i=1;i<=n;i++)g<<a[i]<<' ';
	return 0;
}