112
 правок
Изменения
→Построение
     '''Node''' last_non_alien = ''null''               <font color=green>// указатель на последний ''неподставной элемент'' для текущей позиции </font>
     '''Node''' last_alien = ''null''                   <font color=green>// указатель на последний ''подставной элемент'' для текущей позиции</font>
     '''while'''(''true'')         '''if''' (pointer_in_next_M > M[i + 1].size && '''and''' pointer_in_C > C[i].size) 
             '''break''' 
         '''if''' (pointer_in_next_M > M[i + 1].size || '''or''' M[i + 1][pointer_in_next_M] <tex> \geqslant </tex> C[i][pointer_in_C])
             M[i][pointer_in_M].key = C[i][pointer_in_C].key
             M[i][pointer_in_M].left= last_alien
             pointer_in_next_M += 2
         pointer_in_M++
     last_non_alien = (!'''not''' M[i][M[i].size].is_alien ? M[i][M[i].size] : ''null'')   <font color=green>// теперь это указатель на первый справа ''неподставной элемент'' для текущей позиции</font>
     '''for''' j = M[i].size - 1 '''downto''' 1       
         '''if''' (M[i][j].is_alien)
             M[i][j].right = last_non_alien
         '''else'''
