Cod sursa(job #2900133)

Utilizator alex_bb8Banilean Alexandru-Ioan alex_bb8 Data 10 mai 2022 13:38:09
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

//ifstream f("D:/Proiecte/Clion/Projects/hashuri.in");
//ofstream g("D:/Proiecte/Clion/Projects/hashuri.out");

int n, v[500005];

int poz(int v[], int s, int d){
    int ml = 1;

    while(s < d){
        if(v[s] > v[d]){
            swap(v[s], v[d]);
            ml = 3 - ml;
        }

        if(ml == 1) d--;
        else s++;
    }
    return s;
}

void QuickSort(int v[], int s, int d){
    if(s < d){
        int piv = poz(v, s, d);
        QuickSort(v, s, piv - 1);
        QuickSort(v, piv + 1, d);
    }
}

int main(){

    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] << ' ';

    f.close();
    g.close();

    return 0;
}