Cod sursa(job #1427367)

Utilizator LilithhCondurachi Georgiana Lilithh Data 2 mai 2015 00:58:39
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <cstdio>

using namespace std;

void quicksort(long a[500005], int dr, int stg)
{
    int min, max, aux, sp;
    min = dr;
    max = stg;
    sp = a[(dr+stg)/2];
    do
    {
        while(a[min] < sp)
        min++;
        while(a[max] > sp)
        max--;
        if(min <= max)
        {
            aux = a[min];
            a[min++] = a[max];
            a[max--] = aux;
        }
    }
    while(min <= max);
    if(dr < max)
    quicksort(a, dr, max);
    if(min < stg)
    quicksort(a, stg, min);
}
int main()
{
    long b[500005], N, i;
    freopen("algsort.in", "r", stdin);
    freopen("algsort.out", "w", stdout);
    scanf("%ld", &N);
    for(i=0; i<N; i++)
    scanf("%ld", &b[i]);
    quicksort(b, 0, N-1);
    for(i=0; i<N; i++)
    printf("%ld ", b[i]);
    return 0;
}