Cod sursa(job #1293015)

Utilizator stefanzzzStefan Popa stefanzzz Data 15 decembrie 2014 10:06:41
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <iostream>
#define MAXN 500005

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

void qsort(int v[], int left, int right){
	if(left >= right)
		return;

	int l = left, r = right, mid = (left + right) >> 1;
	int x = v[left];

	while(l < r){
		while(l < r && v[r] >= x)
			r--;
		v[l] = v[r];
		while(l < r && v[l] <= x)
			l++;
		v[r] = v[l];
	}

	v[l] = x;
	qsort(v, left, l - 1);
	qsort(v, l + 1, right);
}


int main(){
	int i;
	int n, v[MAXN];

	f >> n;
	for(i = 1; i <= n; i++)
		f >> v[i];

	qsort(v, 1, n);

	for(i = 1; i <= n; i++)
		g << v[i] << ' ';
	
	return 0;
}