SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: nicokiki en Sábado 27 de Septiembre de 2003, 21:13

Título: Re: Quicksort
Publicado por: nicokiki en Sábado 27 de Septiembre de 2003, 21:13
Hola a todos, soy nuevo y necesito si alguien me puede dar el quicksort para un vector de enteros o cualquier cosa. Luego yo lo traduzo a lo que necesito.
Estoy haciendo dos clases (una de UNICODE y otra de ASCII), las cuales tienen que servir en un template, y luego se almacenaran palabras en un vector de la STL (en cualquiera de los dos formatos) y las tengo que ordenar con el Quicksort.

Muchas gracias
Título: Quicksort
Publicado por: _Viktor en Domingo 28 de Septiembre de 2003, 21:41
Código: Text
  1.  
  2. int particionar(int[] a, int imin, int imax) {
  3.     int ipiv= imin;
  4.     int k= imin;
  5.     int j= k+1;
  6.     while (j<=imax) {
  7.       if (a[j]<a[ipiv] ) {
  8.         k= k+1;
  9.         intercambiar(a, k, j);
  10.       }
  11.       j= j+1;
  12.     }
  13.     intercambiar(a, k, ipiv);
  14.     return k;
  15.   }
  16.  
  17. /******************************/
  18.  
  19. void quicksort(int[] a, int imin, int imax) {
  20.       if (imin>=imax)
  21.         return;
  22.       int k= particionar(a, imin, imax);
  23.       quicksort(a, imin, k-1);
  24.       quicksort(a, k+1, imax);
  25.     }
  26.  
  27.  
  28.  

Eso te servira.-
Saludos