Я знаком с общим способом удаления узла из двусвязного списка в Python следующим образом:
current.prev.next = current.next
current.next.prev = current.prev
current.next = None
current.prev = None
У меня есть узел под названием «текущий» где-то в середине связанного списка. Моя цель — удалить узел и сделать так, чтобы новый «текущий» стал узлом после него. Я написал код, который выполняет это, но он оставляет несколько бесполезных ссылок.
current = current.next
current.prev.prev.next = current
current.prev = current.prev.prev
Отсюда список находится в правильном порядке, и никакие ссылки не указывают на удаленный узел, но у удаленного узла все еще есть ссылки .next и .prev, указывающие обратно на список. Мне это кажется плохим кодом, но, поскольку у меня нет ссылок на удаленный узел, я не знаю, как получить к нему доступ, чтобы удалить их.
Являются ли эти ссылки вообще проблемой? Если да, то какое решение?