317
 правок
Изменения
→Псевдокод
{| border="0" 
|align="left" colspan="4"|
*<tex>\mathtt{GrayCode}</tex> {{---}} двумерный массивтипа '''boolean''', в котором <tex>GrayCode[a, b]</tex> {{---}} <tex>b</tex>-ый бит в <tex>a</tex>-ом коде Грея.*<tex>\mathtt{p}</tex> {{---}} Счетчик количества уже имеющихся кодов*<tex>\mathtt{t}</tex> {{---}} Показывает количество кодов в <tex>(a-1)</tex>-м коде Грея
<code>
 buildCode(n):
    GrayCode[1, n] = 0'''false'''    GrayCode[2, n] = 1                '''true'''                 <font color=green> // Построение кода длины 1 </font>    p = 2                             <font color=green> // Где p {{---}} количество уже имеющихся кодов </font>
    '''for''' i = 2 '''to''' n
       t = p
       p = p * 2
       '''for''' k = (p / 2 + 1) '''to''' p
          GrayCode[k] = GrayCode[t]         <font color=green> // Отражение имеющихся кодов </font>          GrayCode[t, n + 1 - i] = 0'''false'''          GrayCode[k, n + 1 - i] = 1  '''true'''   <font color=green> // Добавление 0 и 1 в начало </font>
          t--
    return(GrayCode) 
</code>
|}