Pagini recente » Cod sursa (job #362995) | Cod sursa (job #2124589) | Cod sursa (job #569540) | Cod sursa (job #3039179) | Cod sursa (job #2897659)
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, a[500005];
int partition(int l ,int r) {
int pivot = a[r];
int i = (l - 1);
for (int j = l; j <= r- 1; j++) {
if (a[j] < pivot) {
i++;
swap(a[i], a[j]);
}
}
swap(a[i + 1], a[r]);
return (i + 1);
}
void quickSort(int l, int r) {
if(l == r) return;
int part = partition(l, r);
quickSort(l, part);
quickSort(part+1, r);
}
int main() {
fin >> n;
for(int i = 1; i <= n; i++) fin >> a[i];
quickSort(1, n);
for(int i = 1; i <= n; i++) fout << a[i] << ' ';
fout << '\n';
}