Cod sursa(job #1251462)

Utilizator deea101Andreea deea101 Data 29 octombrie 2014 15:48:46
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#define NMAX 500001
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");

int v[NMAX];

void qsort (int a, int b)
{
    int left, right, pivot;
    left=a;
    right=b;
    pivot=(a+b)/2;

    while(left<=right)
    {
        while(pivot<=v[right])
            right--;

        while(pivot>=v[left])
            left++;

        if(left<=right)
            {
                swap(v[left],v[right]);
                left++; right--;
            }
    }

    if(a<right) qsort(a,right);
    if(b>left) qsort(b,left);
}
int main()
{
    int N;
    f>>N;

    int i;
    for(i=1;i<=N;i++)
        f>>v[i];

    qsort(1,N);

    for(i=1;i<=N;i++)
        g<<v[i]<<' ';
}