Cod sursa(job #1019717)

Utilizator romykPrehari Romica romyk Data 31 octombrie 2013 20:33:24
Problema Sortare prin comparare Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.88 kb
#include <stdio.h>
#include <stdlib.h>
int tab[500008];

void quick_sort( int l , int r )
{
    int i , j;
    int x , aux;
    i = l;
    j = r;
    x = tab[ ( i + j ) / 2 ];
    do
    {
        while ( tab[ i ] < x )
            i++;
        while ( tab[ j ] > x )
            j--;
        if ( i <= j )
        {
            aux = tab[ i ];
            tab[ i ] = tab[ j ];
            tab[ j ] = aux;
            i++;
            j--;
        }
    } while ( i <= j );
    if ( l < j )
        quick_sort( l , j );
    if ( r > i )
        quick_sort( i , r );
}




int main()
{
    int i,n;
   freopen("algsort.in","r",stdin);
   freopen("algsort.out","w",stdout);
   scanf("%i",&n);
    for(i=0;i<n;i++)
    scanf("%i",&tab[i]);
    quick_sort(0,n-1);
    for(i=0;i<n;i++)
    printf("%i ",tab[i]);

    //printf("Hello world!\n");
    return 0;
}