【发布时间】:2015-02-25 22:24:02
【问题描述】:
我正在尝试了解在
中找到的单写多读双向链表的实现http://web.cecs.pdx.edu/~walpole/class/cs510/papers/11.pdf
在 pdf 的第 10 页(或期刊文章的 500 页)。
我无法理解插入和删除功能的工作原理
我的理解是
- 传入了一个双指针。内部指针大概是我通常称为左链接的地址。
- 出于某种原因,Next 指针(我通常称之为右链接)被设置为包含在双指针中的地址。
- 对 (next != null) 的调用让我非常困惑,好像 next 为 null 然后指向 Previous 的双指针不提供返回链接
- 节点指针存储在双指针中。这必须是设置Previous节点Next指针的机制,因为没有任何其他方法。
我认为我的基本问题归结为双指针中的内部指针指向什么?
如果第 1 行取消引用 Previous 并使用 Previous.Next 分配给 Next 并且如果第 4 行已将 next.Prev 设置为具有要插入节点的地址的指针,那么事情可能对我有意义,但即便如此它仍然似乎不正确。
标记问题 C++,因为伪代码语法最接近 C++,带有一些 Pascal。如果这个问题更适合 cs.stackexchange 请重新定位它。
【问题讨论】: