Método de ordenación por inserción

El método de Inserción realiza n–1 iteraciones sobre el vector, dejando en la i-ésima etapa (2 ≤ i ≤ n) ordenado el subvector a[1..i]La forma de hacerlo es colocando en cada iteración el elemento a[i] en su sitio correcto, aprovechando el hecho de que el subvector a[1..i–1] ya ha sido previamente ordenado. Este método puede ser implementado de forma iterativa como sigue:

PROCEDURE  Insercion (VAR a: VECTOR; N: INTEGER);
VAR i, j, x: INTEGER;
BEGIN
     FOR i := 2 TO N DO
     Begin          
          x := a[i]; 
          j := i-1;
         WHILE ( j >= 1 ) AND ( x < a [j] ) DO
          Begin
               a [j+1] := a [ j ];
               j := j - 1;
          END;
          a[j+1] := x
     END;
END;
Usamos cookies propias y de terceros para ayudarte en tu navegación. Si continúas navegando, aceptas el uso de cookies. OK Más información