Cod sursa(job #359925)

Utilizator maditzaaciuca madalina maditzaa Data 28 octombrie 2009 21:18:38
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream.h>
#include <fstream.h>
ifstream f("algsort.in");
ofstream g("algsort.out");

long int v[500003],n,i;
int pozitie(int i,int j){
	int aux,di=0,dj=1;
	while(i<j){
		if(v[i]>v[j]){
			aux=v[i];
			v[i]=v[j];
			v[j]=aux;
			aux=di;
			di=dj;
			dj=aux;
		}
		i=i+di;
		j=j-dj;
	}
	return i;
}
void divide(int i,int j){
	int k;
	if(i<j){
		k=pozitie(i,j);
		divide(i,k-1);
		divide(k+1,j);
	}
}
int main(){
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	divide(1,n);
	for(i=1;i<=n;i++)
		g<<v[i]<<" ";
	return 0;
}