Cod sursa(job #3326630)

Utilizator Andreea3425Diaconu Andreea Andreea3425 Data 29 noiembrie 2025 17:54:39
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>

using namespace std;

#define N 500000

int v[N+1];

void quicks(int beg, int en){
    int b, e, piv, aux;

    b = beg;
    e = en;
    piv = v[(b + e) / 2];

    while (v[b] < piv)
        b++;

    while (v[e] > piv)
        e--;

    while (b < e){
        aux = v[b];
        v[b] = v[e];
        v[e] = aux;

        do
            b++;
        while (v[b] < piv);

        do
            e--;
        while (v[e] > piv);
    }

    if (beg < e)
        quicks(beg, e);

    if (e + 1 < en)
        quicks(e + 1, en);
}

int main()
{
    ifstream cin ("algsort.in");
    ofstream cout ("algsort.out");

    int n, i;

    cin >> n;

    for (i=1; i<=n; i++)
        cin >> v[i];

    quicks(1, n);
    for (i=1; i<=n; i++)
        cout << v[i] << ' ';
    return 0;
}