Cod sursa(job #1444253)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 29 mai 2015 14:38:07
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
/*  Florin-Gabriel Haja
    Algoritmul Quicksort pentru sortarea elementelor unui vector
*/
#include <fstream>

using namespace std;

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

void quicksort(int v[], int ic, int sf)
{
    int x = v[(ic+sf)/2];
    int i = ic, j = sf;
    do
    {
        while ((i < sf) && (v[i] < x))
            i++;
        while ((j > ic) && (v[j] > x))
            j--;
        if (i <= j)
        {
            int aux = v[j];
            v[j] = v[i];
            v[i] = aux;
            i++, j--;
        }
    }while (i <= j);
    if (ic < j) quicksort(v, ic, j);
    if (i < sf) quicksort(v, i, sf);
}

int main()
{
    int n;
    in >> n;
    int a[n+1];
    for (int i = 1; i <= n; i++)
        in >> a[i];
    quicksort(a, 1, n);

    for (int i = 1; i <= n; i++)
        out << a[i] << " ";
    return 0;
}