Pagini recente » Cod sursa (job #2325451) | Cod sursa (job #2792897) | Cod sursa (job #2726750) | Cod sursa (job #911889) | Cod sursa (job #2388933)
#include <fstream>
int v[500000], n;
void quick_sort(int start, int end) {
int pivot = v[(start + end) / 2];
int i = start, j = end;
while (i != j) {
while (i < j && v[i] < pivot) ++i;
while (i < j && v[j] > pivot) --j;
if (i != j) {
std::swap(v[i], v[j]);
++i;
}
}
if (start < i - 1) quick_sort(start, i - 1);
if (i + 1 < end) quick_sort(i + 1, end);
}
int main() {
std::ifstream in("algsort.in");
std::ofstream out("algsort.out");
int i;
in >> n;
for (i = 0; i < n; ++i) in >> v[i];
quick_sort(0, n - 1);
for (i = 0; i < n; ++i) out << v[i] << ' ';
return 0;
}