Cod sursa(job #1127080)

Utilizator lucianzr1Boaca Lucian lucianzr1 Data 27 februarie 2014 11:05:12
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
using namespace std;

int v[500001];

int pivot(int st, int dr)
{
    int p=st, piv=v[p], i;
    for(int i=st+1; i<=dr; i++)
    {
        if(v[i]<piv)
        {
            v[p]=v[i];
            v[i]=v[p+1];
            v[p+1]=piv;
            p++;
        }
    }
    return p;
}

void divimp(int st, int dr)
{
    if(st<dr)
    {
        int p=pivot(st, dr);
        divimp(st, p-1);
        divimp(p+1, dr);
    }
}

int main()
{
    ifstream fin("algsort.in");
    ofstream fout("algsort.out");
    int n;

    fin>>n;

    for(int i=0; i<n; i++)
        fin>>v[i];

    divimp(0, n-1);

    for(int i=0; i<n; i++)
        fout<<v[i]<<" ";
}