Pagini recente » Cod sursa (job #2407873) | Cod sursa (job #956102) | Cod sursa (job #2633982) | Cod sursa (job #45677) | Cod sursa (job #1469241)
#include <iostream>
#include <fstream>
#include <time.h>
#include <cstdlib>
using namespace std;
int n, v[500000];
void qqsort(int st, int dr) {
int i = st, j = dr, p, r;
r = rand() % (dr - st + 1) + st;
p = v[r];
while (i < j) {
while (v[i] < p) i++;
while (v[j] > p) j--;
if (i <= j){
r = v[j];
v[j] = v[i];
v[i] = r;
++i;
--j;
}
}
if (st < j)qqsort(st, j);
if (i < dr)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;
}