Cod sursa(job #2070243)

Utilizator Neamtu_StefanStefan Neamtu Neamtu_Stefan Data 19 noiembrie 2017 13:00:29
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

int n, m, col[102], lin[102];

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

void citire()
{
    fin >> n;
    for (int i=1; i<=n; ++i)
        fin >> lin[i];
}

void quicksort(int st, int dr, int v[])
{
    int i=st, j=dr;
    int mi=dr-((dr-st)/2);
    while (i < j)
    {
        while (v[i] < v[mi])
            ++i;
        while (v[j] > v[mi])
            --j;

        if (i <= j)
        {
            swap(v[i], v[j]);
            ++i, --j;
        }
    }

    if (st < j) quicksort(st, j, v);
    if (i < dr) quicksort(i, dr, v);
}

int main()
{
    citire();
    quicksort(1, n, lin);

    for (int i=1; i<=n; ++i)
        fout << lin[i] << " ";

    return 0;
}