Cod sursa(job #1206317)

Utilizator FayedStratulat Alexandru Fayed Data 9 iulie 2014 16:24:23
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <cstdio>

int n;
int V[500000];

void quickSort(int left, int right){

    int i = left;
    int j = right;
    int aux;
    int pivot = V[(left+right)/2];

    while(i<=j){

        while(V[i] < pivot)
            ++i;

        while(V[j] > pivot)
            --j;

            if(i<=j){

                aux = V[i];
                V[i] = V[j];
                V[j] = aux;
                ++i;
                --j;
            }
    }
        if(left < j)
            quickSort(left,j);
        if(i < right)
            quickSort(i,right);
}

int main(){

    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);

    scanf("%d",&n);

        for(register int i=1;i<=n;++i)
            scanf("%d",&V[i]);

        quickSort(1,n);

        for(register int i=1;i<=n;++i)
            printf("%d ",V[i]);

return 0;
}