Nun wird die gleiche Maske (der Indezes) um ein Element verschoben, womit sich eine neue Menge bildet. Das heisst der Abstand zwischen den Elementen bleibt gleich, da sich der Wert von h nicht ändert. Die so entstandene neue Menge wird wie vorhin mit dem InsertionSort sortiert.
Nach der Sortierung sieht die Gesammtmenge wie folgt aus:
Nun wird ein letztes mal die Maske verschoben. Würde die Maske danach nochmal verschoben werden, würde man eine Menge in Betracht ziehen, welchen schon durch eine frühere Sortierung erledigt wurde.
Nach der Sortierung:
Wie zu erkennen ist, kristallisiert sich in der gesammten Menge eine gewissen grobe Ordnung heraus, da das Sortieren ``in-place'' geschieht. Weiter zu beachten ist auch, daß kleine Werte über eine größere Distanz hinweg mit wenigen Tauschoperationen eingereiht wurden, da die Aufteilung in Teilmengen nicht zusammenhängend geschieht. Dies ist die Effizienz beim ShellSort gegenüber dem InsertionSort.
Im nächten Schritt wird der Wert für h neu berechnet (verkleinert) und das Schema beginnt von vorne. In hiesigen Beispiel würde h den Wert von 1 erreichen und so eine Menge von der Größe der Originalmenge bilden, diese mit dem InsertionSort sortieren und terminieren, da es keine weiteren Teilmengen gibt.
Nochmal zu betonen ist, daß die Effizienz des ShellSort darin besteht, Elemente über größere Distanzen mit weniger Tauschoperationen einzureihen.
Nächste Seite: Laufzeitkomplexität
Aufwärts: Arbeitsweise
Vorherige Seite: Abstrakt
  Inhalt