Pagini recente » Cod sursa (job #2742081) | Cod sursa (job #1869300) | Cod sursa (job #14256) | Cod sursa (job #809341) | Cod sursa (job #3000775)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream in("algsort.in");
ofstream out("aglsort.out");
int v[500001];
int n;
void quicksort(int spos, int dpos) {
if (spos >= dpos) return;
int m = spos + (dpos - spos) / 2;
int p = v[m];
int i = spos, j = dpos;
while (i <= j) {
while (v[i] < p) i++;
while (v[j] > p) j--;
if (i <= j) {
swap(v[i], v[j]);
i++;
j--;
}
}
quicksort(spos, j);
quicksort(i, dpos);
}
int main() {
in >> n;
//citire
for (int i = 0; i < n; i++) {
in >> v[i];
}
//afisare
quicksort(0, n - 1);
for (int i = 0; i < n; i++) {
out << v[i] << " ";
}
return 0;
}