Ordenamiento Concha Marina

Recibe este nombre porque compara un elemento previo a la mitad, con un elementos posterior a la mitad. Recorriendo el conjunto de valores como si estuviera recorriendo el interior de un concha marina (la cual tiene forma de espiral en su interior).

ATENCIÓN: En este diagrama se utilizan los símbolos matemáticos

Techo de un nuacute;mero real.
El techo de x, denotado ⌈x⌉, es el mínimo entero mayor o igual que x.

Piso de un nuacute;mero real.
El piso de x, denotado ⌊x⌋, es el míximo entero menor o igual que x.
Diagrama de Flujo que explica el Ordenamiento Caparazón

El Ordenamiento se efectua de la sig. forma
Valores Iniciales: n = 6, x = {3, 21, 9, 8, 2, 1}, h = {0, 0}

Se procederá a determinar las posiciones que se ubican en: la mitad, la mitad de la mitad, la mitad de la mitad de la mitad . . . . . del conjunto X. El resultado se depositará en el conjunto H
                             t                       1
t = 1; m =n ÷ 2 m = 6 ÷ 2 = 6 ÷ 2 = 3

¿Es m > 0? Sí h(t) = m h = {3, 0};
                          Sumar 1 a t t = 2

                    t                       2
m =n ÷ 2 m = 6 ÷ 2 = 6 ÷ 4 = 1.5 1

¿Es m > 0? Sí h(t) = m h = {3, 1};
                          Sumar 1 a t t = 3

                    t                       3
m =n ÷ 2 m = 6 ÷ 2 = 6 ÷ 8 = 0.75 0

¿Es m > 0? No


Ahora se iniciará el ordenamiento del conjunto X

Para s = 1;
          h = {3, 1}, w = h(s) w = 3

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

                   ¿Es z < x(j)? No x(j+w) = z x = {3, 21, 9, 8, 2, 1}

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

                   ¿Es z < x(j)? Sí x(j+w) = x(j) x = {3, 21, 9, 8, 21, 1};
                                               Substraer w de j j = -1
                   ¿Es j+1 > w? No x(j+w) = z x = {3, 2, 9, 8, 21, 1}

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

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

Para s = 2;
          h = {3, 1}, w = h(s) w = 1

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

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

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

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

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

                   ¿Es z < x(j)? No x(j+w) = z x = {1, 2, 3, 8, 21, 9}

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

                   ¿Es z < x(j)? No x(j+w) = z x = {1, 2, 3, 8, 21, 9}

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

                   ¿Es z < x(j)? Sí x(j+w) = x(j) x = {1, 2, 3, 8, 21, 21};
                                               Substraer w de j j = 4
                   ¿Es j+1 > w? Sí x = {1, 2, 3, 8, 21, 21}; ¿Es z < x(j)? No
                                             x(j+w) = z x = {1, 2, 3, 8, 9, 21}