Шаг 1. Упорядочиваемое множество разбивается на два непересекающихся подмножества: множество неупорядоченных элементов и множество упорядоченных элементов.
Шаг 2. Берется первый элемент из неупорядоченного множества и определяется его позиция в упорядоченном множестве, куда он может быть помещен, при этом элементы упорядоченного множества, лежащие правее этой позиции, сдвигаются вправо.
Шаг 3. Алгоритм завершает работу, когда множество неупорядоченных элементов становится пустым множеством, иначе шаг 2.