Pagini recente » Cod sursa (job #1266620) | Cod sursa (job #1746441) | Cod sursa (job #461589) | Cod sursa (job #2960876) | Cod sursa (job #2899866)
#include <iostream>
#include <fstream>
#define NMAX 500010
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, arr[NMAX];
void quicksort(int inf, int sup) {
int x, i, j, t;
i = inf;
j = sup;
x = arr[(i + j) / 2];
do {
while ( (i < sup) && (arr[i] < x) ) i++;
while ( (j > inf) && (arr[j] > x) ) j--;
if ( i <= j ) {
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
i++;
j--;
}
} while ( i <= j );
if ( inf < j ) quicksort(inf, j);
if ( i < sup ) quicksort(i, sup);
}
int main() {
f >> n;
for(int i = 0; i < n; i++){
f >> arr[i];
}
quicksort(0, n - 1);
for(int i = 0; i < n; i++){
g << arr[i] << " ";
}
return 0;
}