Cod sursa(job #2496514)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 20 noiembrie 2019 22:48:40
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <vector>

using namespace std;

vector<int> a;

int partition(int st, int dr){
    int pivot = a[dr], l = st, aux;
    for(int i=st;i<dr;i++)
        if(a[i]<pivot){
            aux = a[i];
            a[i] = a[l];
            a[l++] = aux;
        }
    aux = a[dr];
    a[dr] = a[l];
    a[l] = aux;
    return l;
}

void quicksort(int st, int dr){
    if(st<dr){

        int p = partition(st, dr);

        quicksort(st, p-1);
        quicksort(p+1, dr);
    }
}

void insertsort(){

}

int main() {
    ifstream fin("algsort.in");
    ofstream fout("algsort.out");

    int n, x;
    fin>>n;
    for(int i=0;i<n;i++){
        fin>>x;
        a.push_back(x);
    }

    quicksort(0, n-1);
    //insertsort();
    for(int i=0;i<n;i++)
        fout<<a[i]<<" ";

    return 0;
}