Изменения

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

Список с пропусками

297 байт добавлено, 21:07, 26 марта 2019
м
Вставка элемента
# Начинаем вставку на самом верхнем уровне
# Переходим к следующему элементу списка пока значение следующей ячейки меньше ключа.
# Если мы на первом уровне — вставляем элемент. Иначе спускаемся ниже и возвращаемся к шагу <tex>2</tex>. Если нам вернули не ''null'' — вставляем элемент на текущем уровне тоже.
# Кидаем монетку и если выпал «Орёл», то возвращаем ссылку на текущий элемент, иначе — ''null''. Если мы были не на первом уровне и нам вернули ''null'' — возвращаем его без броска монетки.
'''else'''
down_node = insert(res.down, key)
'''if''' down_node <tex>\neq</tex> ''null'''''or''' res.down = ''null'' <font color=darkgreen>// Если выпал «Орёл» или мы находимся на первом уровне</font>
res.next = node(key, down_node, res.next)
'''if''' random(0, 1) > 0.5 <font color=darkgreen>// Бросок монеты</font>
390
правок

Навигация