94
правки
Изменения
Нет описания правки
== Псевдокод получения следующего кода Грея ==
Пусть нам известен код Грея для длины $n - 1$, записанный в массив из строк $s[i]$, где $i$ - номер перестановки (номерация начинается с единицы, элементы разделены пробелами). При этом переменная $t = true$, $j = 1$,а $k$ является новым элементом:
procedure grey_code(t: boolean; j: integer);
str := k + ' ' + s[j]; {записываем элемент n в начало строки}
writeln(str);
for i := 0 to (n div 2) - 1 do
begin
c := str[2 * i + 1]; {меняем элементы местами и выводим каждую новую перестановку}
str := s[j] + ' ' + k; {записываем элемент n в конец строки}
writeln(str);
for i := (n div 2) - 1 downto 0 do
begin
c := str[2 * i + 1]; {меняем элементы местами и выводим каждую новую перестановку}