Cod sursa(job #2020600)

Utilizator shantih1Alex S Hill shantih1 Data 10 septembrie 2017 22:20:08
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>

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

int n, i, j, v[500005];

int partitie (int in, int sf)
{
    int pind = in;
    int aux = 0;
    for (int i = in; i < sf; i++)
        if (v[i] < v[sf])
        {
            aux = v[i];     v[i] = v[pind];   v[pind] = aux;
            pind++;
        }
    aux = v[pind];  v[pind] = v[sf];    v[sf] = aux;
    return pind;
}

void quicksort (int in, int sf)
{
    if (in < sf)
    {
        int piv = partitie (in, sf);
        quicksort (in, piv - 1);
        quicksort (piv + 1, sf);
    }
}

int main () {
    
    fin >> n;
    for (i = 1; i <= n; i++)
        fin >> v[i];
    
    quicksort (1, n);
    
    for (i = 1; i <= n; i++)
        fout << v[i] << " ";    
}