Pagini recente » Cod sursa (job #429020) | Cod sursa (job #98750) | Cod sursa (job #2166786) | Cod sursa (job #2605542) | Cod sursa (job #2988309)
#include <bits/stdc++.h>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int n,a[500100];
void quick_sort(int l, int r, int v[])
{
int pos = (l + r) / 2;
int piv = v[pos];
int i = l, j = l;
swap(v[pos], v[r]);
while (j < r) {
if (v[j] <= piv) {
swap(v[i], v[j]);
i++;
}
j++;
}
swap(v[i], v[r]);
if (i + 1 < r)
quick_sort(i + 1, r, v);
if (i - 1 > l)
quick_sort(l, i - 1, v);
}
int main()
{
in>>n;
for (int i = 1; i <= n; i++)
in>>a[i];
quick_sort(1, n, a);
for (int i = 1; i <= n; i++)
out<<a[i]<<" ";
out<<'\n';
return 0;
}