El Shell sort es un algoritmo de ordenamiento inventado por Donald Shell. Su implementación original requiere O(n2) tiempo en el peor caso, aunque una variante propuesta por Pratt tiene un tiempo de O(n log2 n). Aunque es fácil de implementar, es difícil analizar su tiempo de ejecución. El Shell sort es una generalización del ordenamiento por inserción que mejora este último al comparar elementos separados por varias posiciones y realizar pasos de tamaño decreciente para ordenar los datos.