Cod sursa(job #819989)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 19 noiembrie 2012 22:06:15
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int v[500002], i, j, n, pivot, st, dr, aux;

void quicksort(int st, int dr){
	pivot = v[(st+dr)/2];
	i = st;
	j = dr;
	while(i <= j){
		while(v[j] > pivot) j--;
		while(v[i] < pivot) i++;
		if(i <= j){
		aux = v[i];
		v[i] = v[j];
		v[j] = aux;
		i++;
		j--;
		}
	}
	if(st < j) quicksort(st, j);
	if(i < dr) quicksort(i, dr);
}

int main(){
	
	fin >> n;
	for(i=1; i<=n; i++) fin >> v[i];
	
	quicksort(1, n);
	
	for(i=1; i<=n; i++) fout << v[i] << " ";
	
	return 0;
}