Cod sursa(job #1020987)

Utilizator andreeaghetuUNIBUC andreeaghetu andreeaghetu Data 2 noiembrie 2013 22:34:50
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("algsort.in");
ofstream out ("algsort.out");
int N, v[500005];
void swap (int &a, int &b)
{
    int aux=a;
    a=b;
    b=aux;
}
void sort(int a, int b)
{
    if (a>b)
        return;
    int pivot=(a+b)/2;
    int begin=a, end=b;
    while (begin<=end)
    {
        while (v[begin]<pivot)
            ++begin;
        while (v[end]>pivot)
            --end;
        if (begin<=end)
        {
            swap (v[begin], v[end]);
            ++begin;
            --end;
        }

    }
    sort(a, end);
    sort(begin, b);

}
int main()
{
    in>>N;
    for (int i=0;i<N;++i)
        in>>v[i];
    sort(0, N-1);
    for (int i=0;i<N;++i)
        out<<v[i]<<" ";

    return 0;
}