Cod sursa(job #2897315)

Utilizator woodyinhoStoica Elias-Valeriu woodyinho Data 3 mai 2022 14:38:36
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500001];
int impartire(int v[], int stg, int drp){
    int pivot = v[drp];
    int i = stg - 1;
    for(int j = stg; j<=drp-1;j++)
    {
        if(v[j] < pivot){
            i++;
            swap(v[i], v[j]);
        }
    }
    swap(v[i + 1], v[drp]);
    return (i + 1);
}
void quicksort(int v[], int stg, int drp){
    if(stg<drp)
    {
        int mij = impartire(v, stg, drp);
        quicksort(v, stg, mij - 1);
        quicksort(v, mij + 1, drp);
    }
}

int main() {
    int n;
    f>>n;
    for(int i = 0;i < n;i++)
        f>>v[i];
    quicksort(v, 0, n - 1);
    for(int i = 0;i < n;i++)
        g<<v[i]<<" ";
    return 0;
}