Pagini recente » Cod sursa (job #352256) | Cod sursa (job #3171663) | Cod sursa (job #1698899) | Cod sursa (job #1030570) | Cod sursa (job #2897666)
#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 -1);
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';
}