Pagini recente » Cod sursa (job #2638650) | Cod sursa (job #813023) | Cod sursa (job #2524284) | Cod sursa (job #3134411) | Cod sursa (job #1469220)
#include <iostream>
#include <fstream>
#include <time.h>
#include <cstdlib>
using namespace std;
int n, v[500000];
void qqsort(int st, int dr) {
if (st >= dr)
return;
int i = st, j = dr, p, r;
r = rand() % (dr - st + 1) + st;
p = v[r];
while (i < j) {
while (i <= j && v[i] < p) i++;
while (j >= i && v[j] > p) j--;
if (i <= j){
r = v[j];
v[j] = v[i];
v[i] = r;
++i;
}
}
qqsort(st, i - 1);
qqsort(i, dr);
}
int main() {
ifstream f("algsort.in");
ofstream g("algsort.out");
int i;
f >> n;
for (i = 0; i < n; ++i)
f >> v[i];
srand(time(NULL));
qqsort(0, n - 1);
for (i = 0; i < n; ++i)
g << v[i] << " ";
f.close();
g.close();
return 0;
}