Cod sursa(job #2496518)

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

using namespace std;

int partition(int a[], 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 a[], int st, int dr){
    if(st<dr){
        int p = partition(a, st, dr);

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

int main() {

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

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

    //quicksort(a, 0, n-1);
    sort(a.begin(), a.end());

    for(int i=0;i<n;i++)
        fout<<a[i]<<" ";

    return 0;
}