Pagini recente » Cod sursa (job #1198552) | Cod sursa (job #7317) | Cod sursa (job #1831572) | Cod sursa (job #1269935) | Cod sursa (job #3139375)
#include <bits/stdc++.h>
#define fin "algsort.in"
#define fout "algsort.out"
using namespace std;
int n, arr[500005];
int partition(int lo, int hi) {
int j = lo - 1;
int pivot = arr[hi];
for(int i = lo; i <= hi; ++i) {
if(arr[i]<=pivot) {
j++;
int temp = arr[j];
arr[j]=arr[i];
arr[i] = temp;
}
}
return j;
}
void quicksort(int lo, int hi) {
int piv = partition(lo, hi);
if(lo<piv-1) quicksort(lo, piv-1);
if(piv+1<hi) quicksort(piv+1,hi);
}
int main(int argc, char const *argv[]) {
ifstream fin(FIN);
ofstream fout(FOUT;
fin>>n;
for(int i = 0; i < n; ++i) fin>>arr[i];
quicksort(0, n-1);
for(int i = 0; i < n; ++i) fout<<arr[i]<<" ";
return 0;
}