Cod sursa(job #645660)

Utilizator sebii_cSebastian Claici sebii_c Data 10 decembrie 2011 02:49:13
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define NMAX 500000 

using namespace std;

int v[NMAX + 5];

void swap(int i, int j)
{
	int aux = v[i];
	v[i] = v[j];
	v[j] = aux;
}

void quicksort(int l, int u)
{
	int i, m;
	if (l >= u) return;
	m = l;
	for (i = l + 1; i <= u; ++i)
		if (v[i] < v[l])
			swap(++m, i);
	swap(m, l);
	quicksort(l, m - 1);
	quicksort(m + 1, u);
}

int main()
{
	ifstream fin("algsort.in");
	ofstream fout("algsort.out");
	int i, n;
	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;
}