Cod sursa(job #2951203)

Utilizator SerbanCaroleSerban Carole SerbanCarole Data 5 decembrie 2022 18:10:19
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <algorithm>
using namespace std;

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

const int MAX = 5e5+1;

int n , v[MAX];

int partitionare( int st , int dr ){

    int j = st;

    for(int i = st ; i < dr ; i++)

        if(v[i]<v[dr])

            swap(v[i],v[j++]);

    swap(v[j],v[dr]);

    return j;

}

void qsort(int st , int dr){

    if( st >= dr ){

        return;
    }

    int p = partitionare(st,dr);

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

int main()
{

    cin >> n;

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

    qsort(1,n);

    for(int i = 1 ; i <= n ; i++) cout << v[i] << ' ';

    return 0;
}