Cod sursa(job #287384)

Utilizator ktalyn93Catalin ktalyn93 Data 24 martie 2009 20:02:45
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <stdio.h>
int n,l,v[500001];
void quicksort(int x,int y)
{
     if(x>=y)
      return;
     int p=v[x];
     int aux;
     int i,j;
     i=x+1;
     j=y;
     while(i<=j)
     {
                while(i<=y && v[i]<=p) i++;
                while(j>=x && v[j]>p) j--;
                 if(i<j)
                 {
                        aux=v[i];
                        v[i]=v[j];
                        v[j]=aux;
                        i++;j--;
                 }
     }
     i--;
     v[x]=v[i]; v[i]=p;
     quicksort(x,i-1);
     quicksort(i+1,y);
}                  
int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for(l=1;l<=n;l++)
     scanf("%d",&v[l]);
    quicksort(1,n);
    for(l=1;l<=n;l++)
     printf("%d ",v[l]);
    return 0;
}