Pagini recente » Cod sursa (job #3132837) | Cod sursa (job #2687073) | Cod sursa (job #105802) | Cod sursa (job #1456586) | Cod sursa (job #1238654)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
#define MAXN 500005
ifstream f("algsort.in");
ofstream g("algsort.out");
int n;
int a[MAXN];
void qsort(int st = 1, int dr = n)
{
if (st >= dr) return;
int i = st, j = dr, dir = 1;
while (i != j)
{
if (dir == 1) {
if (a[i] <= a[j]) {
i++;
} else {
swap(a[i], a[j]);
dir = -1;
j--;
}
} else {
if (a[i] <= a[j]) {
j--;
} else {
swap(a[i], a[j]);
dir = 1;
i++;
}
}
qsort(st, i - 1);
qsort(i + 1, dr);
}
}
int main()
{
f >> n;
for (int i = 1; i <= n; i++) {
f >> a[i];
}
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++) {
g << a[i] << ' ';
}
return 0;
}