Pagini recente » Cod sursa (job #1861434) | Cod sursa (job #1012027) | Cod sursa (job #393861) | Cod sursa (job #530478) | Cod sursa (job #2530358)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, v[500000];
void qs(int st, int dr) {
int i = st;
int j = dr;
int mij = (st + dr) / 2;
int val = v[mij];
while (i <= j) {
while (v[i] < val) i++;
while (v[j] > val) j--;
if (i <= j) {
swap(v[i], v[j]);
i ++;
j --;
}
}
if (i < dr) qs(i, dr);
if (j > st) qs(st, j);
}
int main() {
f >> n;
for (int i = 0; i < n; ++i) {
f >> v[i];
}
qs(0, n - 1);
for (int i = 0; i < n; ++i) {
g << v[i] << " ";
}
return 0;
}