Cod sursa(job #283696)

Utilizator spidyvenomMarius Toma spidyvenom Data 19 martie 2009 16:03:25
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream.h>
int n;
long a[500001];
ifstream f("algsort.in");
ofstream g("algsort.out");
int poz(int l,int r)
{
long i,j,aux,di,dj;
i=l;
j=r;
di=0;
dj=1;
while (i<j)
	{
	if (a[i]>a[j])
		{
		aux=a[i];
		a[i]=a[j];
		a[j]=aux;
		aux=di;
		di=dj;
		dj=aux;
		}
	i+=di;
	j-=dj;
	}
return i;
}
void quick(int l,int r)
{
int p;
if (l<r)
	{
	p=poz(l,r);
	quick(l,p-1);
	quick(p+1,r);
	}
}
int main()
{
int i;
f>>n;
for (i=1;i<=n;i++) f>>a[i];
quick(1,n);
for (i=1;i<=n;i++) g<<a[i]<<" ";
g.close();
return 0;
}