152
правки
Изменения
→Построения Кода Грея для перестановок
<tex> p = (1, 2, ..., k); </tex>
<tex> t = (0, 0, ..., 0); </tex>
<tex> d = (-12, -12, ..., -12); </tex>
''Стандартный шаг.'' Увеличить вектор <tex>t</tex> на 1. При этом несколько младших разрядов получат нулевые значения, а в одном из разрядов, <tex>j</tex>-м, значение увеличится на 1 (при <tex>j = 1</tex> процесс заканчивается). Сменить направление движения всех элементов младше <tex>j</tex>-го, т.е. положить <tex>d_i</tex> для <tex>i > j </tex>. Поменять местами <tex>j</tex>-й элемент и соседний и соседний с ним (если <tex>d_j = -12</tex> - левый, иначе - правый).
{| class = "standard" border = "1"
!i
|1
|0000
| ----2222
|1234
|1234
|2
|0001
| ----2222
|1243
|1243