Cod sursa(job #434931)

Utilizator BunicoolMoise Razvan Bunicool Data 6 aprilie 2010 19:02:08
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<cstdio>
using namespace std;
FILE *f=fopen("algsort.in","r"), *g=fopen("algsort.out","w");
long n,a[500000];
void quicksort(int lo, int hi)
{
	long i=lo, j=hi, interm, x=a[(lo+hi)/2];
	do
	{
		while(a[i]<x) i++;
		while(a[j]>x) j--;
		if(i<=j)
			interm=a[i],
			a[i]=a[j],
			a[j]=interm,
			i++,
			j--;
	}while(i<=j);
	if(lo<j) quicksort(lo,j);
	if(i<hi) quicksort(i,hi);
}
int main()
{
	long i;
	fscanf(f,"%d",&n);
	for(i=0;i<n;i++)
		fscanf(f,"%d",&a[i]);
	quicksort(0,n-1);
	for(i=0;i<n;i++)
		fprintf(g,"%d ",a[i]);
	return 0;
}