# Если мы вставляем значение в начало списка:
if index == 0
# Делаем так, чтобы наш новый узел ссылался на тот, который был первым
# ранее:
new_node.next_node = first_node
# Устанавливаем новый узел в качестве первого узла списка:
self.first_node = new_node
return
end
# Если мы вставляем значение не в начало списка:
current_node = first_node
current_index = 0
# Сначала обращаемся к узлу, который находится
# перед местом вставки нового узла:
while current_index < (index - 1) do
current_node = current_node.next_node
current_index += 1
end
# Делаем так, чтобы ссылка нового узла указывала на следующий узел:
new_node.next_node = current_node.next_node
# Изменяем ссылку предыдущего узла, чтобы она указывала
# на новый узел:
Прикладные структуры данных и алгоритмы. Прокачиваем навыки
·
Джей Венгроу