Cod sursa(job #2291808)

Utilizator dragos99Homner Dragos dragos99 Data 28 noiembrie 2018 17:38:48
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
using namespace std;
    ifstream f("algsort.in");
    ofstream g("algsort.out");
long n;

void quicksort(long a[], long left, long right){
    long i = left;
    long j = right;
    long aux;
    long pivot = a[(left + right)/2];

    while(i <= j){
        while(a[i] < pivot)
            i++;
        while(pivot < a[j])
            j--;
        if(i <= j){
            aux = a[i];
            a[i] = a[j];
            a[j] = aux;
            i++;
            j--;
        }
    }

    if(i < right)
        quicksort(a, i, right);
    if(j > left)
        quicksort(a, left, j);
}

int main()
{
f>>n;
long a[n];
for(long i = 0 ; i < n ; i++)
    f>>a[i];

quicksort(a, 0, n - 1);

for(long i = 0 ; i < n ; i++)
    g<<a[i]<<" ";

return 0;
}