Cod sursa(job #1129434)

Utilizator Sirius2001Happy Birthday Sirius2001 Data 27 februarie 2014 22:12:46
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
/*
    Keep It Simple!
*/

#include<stdio.h>

int v[500005],n;

void Quick(int left,int right)
{
    int i = left, j = right, mid = (left+right)/2;

    while(i<=j)
    {
         while(v[i]<v[mid]) i++;
         while(v[j]>v[mid]) j--;

         if(i <= j )
         {
            int aux = v[i];
            v[i] = v[j];
            v[j] = aux;
            i++; j--;
         }
    }

    if( left < j)
     Quick(left,j);
    if( i < right)
     Quick(i,right);
}

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

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

   Quick(1,n);

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

}