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