Pagini recente » Cod sursa (job #1921149) | Cod sursa (job #263650) | Cod sursa (job #2135332) | Cod sursa (job #2360920) | Cod sursa (job #1721995)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 500003
int v[NMAX];
void quick_sort(int v[], int lower, int upper) {
srand(time(NULL));
if (lower < upper) {
int pos = rand() % ((upper - lower) + lower);
int piv = v[pos];
std::swap(v[pos], v[upper]);
int p = lower;
for (int i = lower; i < upper; i++) {
if (v[i] <= piv)
swap(v[p++], v[i]);
}
swap(v[upper], v[p]);
quick_sort(v, p + 1, upper);
quick_sort(v, lower, p - 1);
}
}
int main() {
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int N, x;
fin >> N;
for (int i = 1; i <= N; i++) {
fin >> x;
v[i] = x;
}
quick_sort(v, 1, N );
for (int i = 1; i <= N; i++) {
fout << v[i] << " ";
}
fin.close();
fout.close();
}