• Jueves 14 de Noviembre de 2024, 18:45

Autor Tema:  Problema Con Contador  (Leído 1077 veces)

acaro

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Problema Con Contador
« en: Jueves 15 de Julio de 2004, 05:50 »
0
Tengo que programar el método de ordenamiento quicSort, con la variante que hace que los subarreglos de tamaño menor o igual que un cierto parámetro M se ordenen usando ordenación por inserción en lugar del algoritmo recursivo. Mi proble es el siguiente, como acumulo la cantidad de comparaciones que realizan los dos algoritmos  en conjunto. Ya que debo graficar el número de comparaciones en función de M, pero no encuentro sumar todas esas comparaciones. Cualquier ayuda será bien recibida. De antemano muchas gracias.
 Este es la programnación de mi algoritmo, si funciona.
 void quickSort(int arreglo[], int iMin, int iMax){

   if(iMin>=iMax)
      return;

   if(iMax-iMin<10)
   insercion(arreglo);

   int k=particionar(arreglo, iMin, iMax);
   quickSort(arreglo,iMin, k-1);
   quickSort(arreglo, k+1, iMax);
   }

static void insercion(int a[]){
   int j;
   int t;
   int k=0;
   int largo = a.length;
   while(k<largo){
    t= a[k];
   for( j=k; j>0 && a[j-1]>t ; --j)
   
      a[j] = a[j-1];
      a[j] = t;
      ++k;
}}   


En este caso el M vale 10, pero no sé donde ubicar los contadores de comparaciones del algoritmo, ni menos como acumularlos. Gracias.
"Dicen que soy un soñador, pero ya no soy el único
  y espero que algún día se unan a nosotros" J.L.
 "No se rían de mí, pueden tener un hijo igual" H.S.