Cod sursa(job #325939)

Utilizator udrescu_cristiUdrescu Cristian udrescu_cristi Data 23 iunie 2009 00:40:30
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<iostream.h>
#include<stdio.h>
long n,i,a[500001],st,dr;
   void qsort(long st,long dr)
{
 long i=st,j=dr,mij=a[(st+dr)/2];
 long  aux; 
  do
{
while(i<=j&&a[i]<mij) i++;
while(i<=j&&a[j]>mij)j--;
 if(i<=j)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
i++;
j--;
}
 if(i<dr) qsort(i,dr);
 if(st<j) qsort(st,j);
}
 while(i<=j); 
}
  int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
 scanf("%ld\n",&n);
   for(i=1;i<=n;i++)
    scanf("%ld ",&a[i]);
qsort(1,n);
  for(i=1;i<=n;i++)
   printf("%ld ",a[i]);
return 0;
}