Pagini recente » Cod sursa (job #1837287) | Cod sursa (job #1515693) | Cod sursa (job #1549032) | Cod sursa (job #1129175) | Cod sursa (job #1974520)
#include <cstdio>
const int MAXN = 5e5;
int v[MAXN];
void qsort(int begin, int end) {
int aux, b = begin, e = end,
pivot = v[(begin + end) / 2];
while (b <= e) {
while (v[b] < pivot) {
++b;
}
while (v[e] > pivot) {
--e;
}
if (b <= e) {
aux = v[b];
v[b] = v[e];
v[e] = aux;
++b; --e;
}
}
if (b < end) qsort(b, end);
if (begin < e) qsort(begin, e);
}
int main() {
int n;
FILE *f = fopen("algsort.in", "r");
fscanf(f, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(f, "%d", v + i);
}
fclose(f);
qsort(0, n - 1);
f = fopen("algsort.out", "w");
for (int i = 0; i < n; ++i) {
fprintf(f, "%d ", v[i]);
}
fprintf(f, "\n");
fclose(f);
return 0;
}