Cod sursa(job #1539155)

Utilizator NitaMihaitavoidcube NitaMihaita Data 30 noiembrie 2015 12:53:44
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>

using namespace std;
int v[500000];

void qqqCormen(int s, int d) {
	int i = s - 1, j, x = v[d];
	for(j = s; j < d; ++j)
		if(v[j] <= x) {
			++i;
			v[j] = (v[i] + v[j]) - (v[i] = v[j]);
		}
	++i;
	v[j] = (v[i] + v[j]) - (v[i] = v[j]);
	if(s < i - 1) qqqCormen(s, i - 1);
	if(i + 1 < d) qqqCormen(i + 1, d);
}
int main() {
	ifstream f("algsort.in");
	ofstream g("algsort.out");
	int i, n;
	f >> n;
	for(i = 0; i < n; ++i)f >> v[i];
	qqqCormen(0, n - 1);
	for(i = 0; i < n; ++i)g << v[i] << " ";
	f.close();
	g.close();
	return 0;
}