Ordenamiento por Inserción

Recibe este nombre porque va insertando el mayor, de dos elementos, una posición después de la localidad donde está ubicado el mayor.

Diagrama de Flujo que explica el Ordenamiento por Inserción

El Ordenamiento se efectua de la sig. forma
Valores Iniciales: n = 6 i = 2 . . . n

Para i = 2;
       t = x(i)
t = 21;
       j = i - 1
j = 1;
       x = {3, 21, 9, 8, 2, 1}

¿Es t < x(j)? No

x(j+1) = t x = {3, 21, 9, 8, 2, 1}


Para i = 3;
       t = x(i)
t = 9;
       j = i - 1
j = 2;
       x = {3, 21, 9, 8, 2, 1}

¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 21, 21, 8, 2, 1};
                           restar 1 a j j = 1

x = {3, 21, 9, 8, 2, 1};
¿Es j > 0? Sí ¿Es t < x(j)? No

x(j+1) = t x = {3, 9, 21, 8, 2, 1}


Para i = 4;
       t = x(i)
t = 8;
       j = i - 1
j = 3;
       x = {3, 9, 21, 8, 2, 1}

¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 9, 21, 21, 2, 1};
                           restar 1 a j j = 2

x = {3, 9, 21, 21, 2, 1};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 9, 9, 21, 2, 1};
                                                   restar 1 a j j = 1
x = {3, 9, 9, 21, 2, 1};
¿Es j > 0? Sí ¿Es t < x(j)? No

x(j+1) = t x = {3, 8, 9, 21, 2, 1}


Para i = 5;
       t = x(i)
t = 2;
       j = i - 1
j = 4;
       x = {3, 8, 9, 21, 2, 1}

¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 8, 9, 21, 21, 1};
                           restar 1 a j j = 3
x = {3, 8, 9, 21, 21, 1};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 8, 9, 9, 21, 1};
                                                   restar 1 a j j = 2
x = {3, 8, 9, 9, 21, 1}
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 8, 8, 9, 21, 1};
                                                   restar 1 a j j = 1
x = {3, 8, 8, 9, 21, 1};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {3, 3, 8, 9, 21, 1};
                                                   restar 1 a j j = 0
¿Es j > 0? No

x(j+1) = t x = {2, 3, 8, 9, 21, 1}


Para i = 6;
       t = x(i)
t = 1;
       j = i - 1
j = 5;
       x = {2, 3, 8, 9, 21, 1}

¿Es t < x(j)? Sí x(j+1) = x(j) x = {2, 3, 8, 9, 21, 21};
                           restar 1 a j j = 4
x = {2, 3, 8, 9, 21, 21};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {2, 3, 8, 9, 9, 21};
                                                   restar 1 a j j = 3
x = {2, 3, 8, 9, 9, 21};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {2, 3, 8, 8, 9, 21};
                                                   restar 1 a j j = 2
x = {2, 3, 8, 8, 9, 21};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {2, 3, 3, 8, 9, 21};
                                                   restar 1 a j j = 1
x = {2, 3, 3, 8, 9, 21};
¿Es j > 0? Sí ¿Es t < x(j)? Sí x(j+1) = x(j) x = {2, 2, 3, 8, 9, 21};
                                                   restar 1 a j j = 0
¿Es j > 0? No

x(j+1) = t x = {1, 2, 3, 8, 9, 21}