Cod sursa(job #248110)

Utilizator zalmanDanci Emanuel Sebastian zalman Data 24 ianuarie 2009 21:30:55
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
#define dim 5001
int a[ dim ], i, n;

int poz(int ls, int ld);

void qsort(int ls,int ld)
{
 int p;
 if(ls<ld)
 {
  p = poz(ls,ld);
  qsort(ls,p-1);
  qsort(p+1,ld);
 }
}

int poz(int ls,int ld)
{
 int i,j,ii,jj,aux;
 i=ls;
 j=ld;
 ii=0;
 jj=-1;
 while(i<j)
 {
  if(a[i]>a[j])
  {
   aux=a[i];
   a[i]=a[j];
   a[j]=aux;
   aux=-ii;
   ii=-jj;
   jj=aux;
  }
 i+=ii;
 j+=jj;
 }
return i;

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

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

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

printf("\n");
fcloseall();
return 0;  
    
   
 return 0;
}