Cod sursa(job #820824)

Utilizator wscsprint3rIrimescu Stefan wscsprint3r Data 21 noiembrie 2012 11:14:33
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
//
//
#include<stdio.h>
FILE *f=fopen("algsort.in","r"), *g=fopen("algsort.out","w");

long v[500000],inj,i,n,aux,sw,k;

void Quicksort(int st, int dr){

  int i,j,aux,mij;
	i=st;
	j=dr;
	mij=v[(i+j)/2];

	do{

		while(mij>v[i])
			i++;
		while(mij<v[j])
			j--;
		if(i<=j)
		{
		 aux=v[i];
		v[i]=v[j];
		v[j]=aux;
		i++;
		j--;
		}

	}while(i<=j);

	if(st<j)
		Quicksort(st,j);
	if(dr>i)
		Quicksort(i,dr);





}



int main()
{
	fscanf(f,"%ld",&n);
	for(i=0;i<n;i++)
		fscanf(f,"%ld ", &v[i]);
	
	
	Quicksort(0,n-1);
	
	for(i=0;i<n;i++)
		fprintf(g,"%ld ", v[i]);
	
	fclose(f);
	fclose(g);
	return 0;
}