Ideea metodei este de a compara elementele grupate dintr-o secvență care se află la o anumită distanță una de cealaltă. Inițial, această distanță este d sau N / 2, unde N este numărul total de elemente. În prima etapă, fiecare grup cuprinde două elemente situate la o distanță N / 2 unele de altele; ele sunt comparate între ele și, dacă este necesar, sunt schimbate. În etapele următoare se efectuează și verificarea și schimbul, dar distanța d este redusă cu d / 2, iar numărul de grupuri, respectiv, scade. Treptat, distanța dintre elemente scade, iar pentru d = 1 trecerea prin matrice are loc ultima dată.

Lăsați lista să fie dată și sortați după metoda Shell, iar valorile sunt selectate.
La prima etapă, sub-listele compuse din toate elementele care diferă prin 5 poziții sunt sortate, adică sub-înregistrări ,,,,.
În lista primită, în al doilea pas, sub-elementele din elementele care sunt separate prin 3 elemente sunt sortate din nou.
Procesul se termină cu sortarea obișnuită a inserțiilor din lista rezultată.
Implementarea algoritmului în diferite limbi de programare: