Cod sursa(job #363130)

Utilizator avram_florinavram florin constantin avram_florin Data 11 noiembrie 2009 21:55:36
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
#define MAXN 600000
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long n,i;
long v[MAXN];
int poz(long li,long ls)
{
	int i,j,x;
	i=li;
	j=ls;
	x=v[i];
	while(i<j)
		{
			while((v[j]>=x)&&(i<j))
				   j--;
			v[i]=v[j];
			while((v[i]<=x)&&(i<j))
					i++;
			v[j]=v[i];
		}
	v[i]=x;
	return i;
}
void quicksort(int li,int ls)
{
	int k;
	if(li<ls)
		{
			k=poz(li,ls);
			quicksort(li,k-1);
			quicksort(k+1,ls);
		}
}
int main ()
{
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	quicksort(1,n);
	for(i=1;i<n;i++)
		g<<v[i]<<' ';
	g<<v[n]<<'\n';
	f.close();
	g.close();
	return 0;
}