miércoles, 2 de marzo de 2011

Algorito de ordenación por inserción directa

Éste es el algoritmo de ordenación más intuitivo para el ser humano, ya que el método de ordenación es el natural para nosotros. Es el que utilizaríamos, por ejemplo, para ordenar una baraja de cartas. A este algoritmo también se le conoce como "insertion short".

Su funcionamiento es el siguiente. Tomamos el vector (nuestra baraja de cartas), que está desordenado. Cogemos la carta de arriba y la insertamos en su lugar correspondiente en un montón separado. Una vez recorridas todas las cartas, el montón separado ya está ordenado.

Veamos como se implementa este algoritmo en C.

void insercion_directa(int v[], int N) {
   int tmp;
 
   for (int i=1; i < N; i++) {
      tmp = v[i];
      j = i - 1;
      while(int j >= 0 && v[j] > tmp) {
         v[j+1] = v[j];
         j--;
      }
      v[j+1] = tmp;
   }
}


Enlaces externos:

No hay comentarios:

Publicar un comentario