什么是双向链表的删除方法?
与蜥蜴比尔说的算法相同,但以图形方式:-)
(来源:jaffasoft.co.uk)
一般算法如下:
找到要删除的节点.
node.previous.next = node.next
node.next.previous = node.previous
node.previous = null
node.next = null
如果您处于非GC环境中,请处置节点
您必须检查上一个和下一个节点是否为null,以查看是否正在移除头部或尾部,但这些是容易的情况.