Ідея методу полягає в порівняння розділених на групи елементів послідовності, що знаходяться один від одного на деякій відстані. Спочатку ця відстань дорівнює d або N / 2, де N - загальне число елементів. На першому кроці кожна група включає в себе два елементи розташованих один від одного на відстані N / 2; вони порівнюються між собою, і, в разі необхідності, міняються місцями. На наступних кроках також відбуваються перевірка і обмін, але відстань d скорочується на d / 2, і кількість груп, відповідно, зменшується. Поступово відстань між елементами зменшується, і на d = 1 прохід по масиву відбувається в останній раз.
Нехай дано список і виконується його сортування методом Шелла, а в якості значень обрані.
На першому кроці упорядковано підсписки, складені з усіх елементів, що розрізняються на 5 позицій, тобто підсписки,,,,.
В отриманому списку на другому кроці знову упорядковано підсписки з віддалених на 3 позиції елементів.
Процес завершується звичайної сортуванням вставками отриманого списку.
Реалізація алгоритму на різних мовах програмування: