Cod sursa(job #286469)

Utilizator BloodRainBurceanu Gabriel BloodRain Data 23 martie 2009 20:34:47
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream.h>
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[500002],n;
void quicks(int st,int dr)
{
int dri,sti;
dri=dr;
sti=st;
int mij=v[(st+dr)/2];

do
	{
	while(mij>v[st])st++;
	while(mij<v[dr])dr--;
	if(st<=dr)
		{
		int aux=v[st];
		v[st]=v[dr];
		v[dr]=aux;
		dr--;
		st++;
		}

	}
	while(st<=dr);


if(dr>sti) quicks(sti,dr);
if(dri>st) quicks(st,dri);
}

int main(void)
{
int i;
in>>n;
for(i=1;i<=n;i++)
	in>>v[i];
quicks(1,n);

for(i=1;i<=n;i++)
	out<<v[i]<<" ";

out<<"\n";
in.close();
out.close();
return 0;
}