Cod sursa(job #1427368)

Utilizator LilithhCondurachi Georgiana Lilithh Data 2 mai 2015 01:04:07
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <cstdio>
#include <stdlib.h>

using namespace std;

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