Cod sursa(job #1251466)

Utilizator deea101Andreea deea101 Data 29 octombrie 2014 15:56:28
Problema Sortare prin comparare Scor 100
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=v[(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(left,b);
}
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]<<' ';
}