Cod sursa(job #462609)

Utilizator maditzaaciuca madalina maditzaa Data 12 iunie 2010 12:38:51
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream.h>
ifstream f("algsort.in");
ofstream g("algsort.out");


long long v[500002],i,j,n;

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;
}