Cod sursa(job #2899866)

Utilizator ctimburCristina T ctimbur Data 9 mai 2022 12:50:58
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#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;
}