Cod sursa(job #2292822)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 30 noiembrie 2018 00:33:15
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

int partitie( int *v, int st, int dr)
{
    int p = v[dr], i, j, aux;

    i = st-1;
    for ( j = st; j < dr ; j++)
    {
        if ( v[j] <= p )
        {
            i++;
            swap ( v[i], v[j]);
        }
    }
    swap (v[i+1],v[dr]);

    return (i+1);
}

void quickSort ( int *v, int st, int dr)
{
    if( st >= dr)
        return;

    int p = partitie ( v, st ,dr);
    quickSort(v, st, p-1);
    quickSort(v, p+1, dr);
}

int main()
{
    int n, *v, i;

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

    in >> n;
    v = new int [n+1];
    for (i = 0 ; i < n ; i++)
        in >> v[i];

    quickSort (v, 0, n-1);

    for (i = 0; i < n; i++)
        out << v[i] << " ";

    in.close();
    out.close();

    return 0;
}