【发布时间】:2015-04-21 08:37:22
【问题描述】:
我熟悉从 Python 中的双向链表中删除节点的一般方法,如下所示:
current.prev.next = current.next
current.next.prev = current.prev
current.next = None
current.prev = None
我在链表中间的某处有一个名为“current”的节点。我的目标是删除节点并让新的“当前”成为它之后的节点。我已经编写了完成此操作的代码,但它留下了一些无用的引用。
current = current.next
current.prev.prev.next = current
current.prev = current.prev.prev
从这里开始,列表的顺序正确,没有引用指向已删除的节点,但已删除的节点仍有其 .next 和 .prev 引用指向列表。这对我来说似乎是糟糕的代码,但由于我没有对已删除节点的任何引用,我不知道如何访问它以删除它们。
这些引用甚至是一个问题吗?如果有,解决办法是什么?
【问题讨论】:
标签: python python-3.x linked-list doubly-linked-list garbage