Cod sursa(job #363738)

Utilizator lucianvnDragomir Lucian lucianvn Data 14 noiembrie 2009 16:04:02
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream.h>
ifstream intrare("algsort.in");
ofstream iesire("algsort.out");
long unsigned v[500001],n,i;
void schimba(long unsigned i,long unsigned j)
{
	long unsigned t=v[i];
	v[i]=v[j];
	v[j]=t;
}
void quicksort(long unsigned st, long unsigned dr)
{
	long unsigned m;
	if(st>=dr) return;
	m=st;
	for(i=st+1;i<=dr;i++)
		if(v[i]<v[st]) schimba(++m,i);
	schimba(st,m);
	quicksort(st,m-1);
	quicksort(m+1,dr);
}
void citire()
{
	intrare>>n;
	for(i=1;i<=n;i++)
		intrare>>v[i];
}
void afisare()
{
	for(i=1;i<=n;i++)
		iesire<<v[i]<<" ";
}
int main()
{
	citire();
	quicksort(1,n);
	afisare();
	return 0;
}