Cod sursa(job #371884)

Utilizator lorandCsorba Lorand-Alexandru lorand Data 7 decembrie 2009 17:50:16
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
using namespace std;
#include<fstream>
int n,x[500005];
void quick(int,int);
int main()
{
	int i;
	ifstream fin("algsort.in");
	fin>>n;
	for(i=1;i<=n;i++)
		fin>>x[i];
	fin.close();
	quick(1,n);
	ofstream fout("algsort.out");
	for(i=1;i<=n;i++)
		fout<<x[i]<<' ';
	fout.close();
	return 0;
}
void quick(int s,int d)
{
	if(s<d)
	{
		int i=s,j=d,dd=0,aux;
		while(i<j)
		{
			if(x[i]>x[j])
			{
				aux=x[i];
				x[i]=x[j];
				x[j]=aux;
				dd=1-dd;
			}
			i+=dd;
			j-=1-dd;
		}
		quick(s,i-1);
		quick(i+1,d);
	}
}