| Contacto | Chat | Foro |__
  
 
Principal Hoja de Vida Universidad Artículos Programas Descargas
 

Ordenamiento de arreglos por el método rápido (quicksort)


PROG00021 - C/C++
El método rápido o quicksort, es el algoritmo para ordenamiento de arreglos más rápido que existe. Además, es matemáticamente demostrable, que no puede existir un método mejor. Se basa en el principio "divide y vencerás". Su implementación sin embargo, reviste complejidad, ya que se trata de un algoritmo recursivo por naturaleza.

void SortArray (int array[],int first,int last)
{
   int i,j,p,t;

   // i se hace igual al índice del primer elemento  
   i= first;
 
   // y j igual al índice del último elemento
   j= last;
 
   // p se hace igual al elemento pivote del arreglo
   p= array[(first+last)/2];  

   do {
      // se hace la partición del arreglo
      while (array[i]<p) i++;

      while (p<array[j]) j--;
         if (i<=j)
         {
            // se intercambian los elementos i-esimo y j-esimo del arreglo
            t= array[i];

            array[i]= array[j];
            array[j]= t;
            i++;
            j--;
         }
   } while (i<=j);
   if (first<j) SortArray(array,first,j);
   if (i<last) SortArray(array,i,last);
}

Advertencia
Aunque no he escatimado esfuerzos en cuanto a proveer aplicaciones e información confiable y veraz, sin embargo no puedo garantizar que esté totalmente libre de errores; por esa razón, no asumo responsabilidad alguna por las consecuencias que se deriven de su empleo.




7-Zip

Descarga Adobre Reader

Descargar programa
  Copyright 2005 | Ramón Medina | Todos los derechos reservados | Última Actualización: Agosto del 2008 | webmaster@ramonmedina.name