d = n while d > 1 d = d / 2 /* целочисленное */ i = 0 /* делаем 1 "пузырьковый" проход для элементов каждой группы */ while (j = i + d) < n if x[i] > x[j] /* x[i] и x[j] меняем местами */ swap(i, j) i++ BubbleSort() /* либо InsertSort(), либо SelectSort() */