El Shell Sort es un algoritmo de ordenación que mejora el algoritmo de Inserción Directa dividiendo el arreglo original en sub-arreglos y ordenándolos de forma recursiva. Primero se ordenan los sub-arreglos con un salto inicial grande, luego se reduce el salto y se vuelve a ordenar, repitiendo el proceso hasta alcanzar un salto de 1, momento en el que es equivalente a Inserción Directa sobre todo el arreglo. Esto hace que los elementos estén cada vez más cerca de su posición final, reduciendo las comparaciones.