Изменения

Перейти к: навигация, поиск

Техника частичного каскадирования

Нет изменений в размере, 23:37, 8 июня 2017
Исправлены пункты: 2_20
'''int''' pointer_in_next_M = 1 <font color=green>// указатель на самый левый элемент каталога M[i + 1], который еще не рассмотрели </font>
'''int''' pointer_in_M = 1 <font color=green>// указатель на самый левый элемент каталога M[i], в который будем добавлять элемент </font>
'''Node''' last_non_alien = NULL ''null'' <font color=green>// указатель на последний ''неподставной элемент'' для текущей позиции </font> '''Node''' last_alien = NULL ''null'' <font color=green>// указатель на последний ''подставной элемент'' для текущей позиции</font> '''while'''('''true''')
'''if''' (pointer_in_next_M > M[i + 1].size && pointer_in_C > C[i].size)
'''break'''
M[i][pointer_in_M].key = M[i + 1][pointer_in_next_M].key
M[i][pointer_in_M].down = M[i + 1][pointer_in_next_M]
M[i][pointer_in_M].is_alien = '''true'''
M[i][pointer_in_M].left = last_non_alien
lst_alien = M[i][pointer_in_M]
pointer_in_next_M += 2
pointer_in_M++
last_non_alien = (!M[i][M[i].size].is_alien ? M[i][M[i].size] : NULL''null'') <font color=green>// теперь это указатель на первый справа ''неподставной элемент'' для текущей позиции</font>
'''for''' j = M[i].size - 1 '''to''' 1
'''if''' (M[i][j].is_alien)
112
правок

Навигация