Página principal | Módulos | Lista de componentes | Lista de archivos | Archivos de los miembros

quickSort.c

Ir a la documentación de este archivo.
00001 
00007 #include <stdio.h>
00008 int partition (int *A, int p,  int r)
00009 {
00010   int x = *(A+p);
00011   int i = p-1;
00012   int j = r+1;
00013   int temp;
00014   while (1) {
00015     while (*(A+(--j)) > x);
00016     while (*(A+(++i)) < x);
00017     if ( i<j ) {
00018       temp=*(A+i);
00019       *(A+i)=*(A+j);
00020       *(A+j)=temp;
00021     }
00022     else
00023       return j;
00024   }
00025 }
00026 
00027 void quicksort (int *A, int p, int r)
00028 {
00029   int q;
00030   if (p < r) {
00031     q = partition(A, p, r);
00032     quicksort(A, p, q);
00033     quicksort(A, q+1, r);
00034   }
00035 }

Generado el Fri Nov 19 03:23:50 2004 para Ejemplo por  doxygen 1.3.9.1