有人熟悉在 C++ 中使用带有两个虚拟节点的双向链表时的 before* 和 after* 指针吗?我正在尝试使用 before* 和 after* 作为我的迭代器来解释所有插入的特殊情况(空列表、在最前面插入、在最后面插入、在中间插入)。
如何正确使用before*和after*来判断插入位置?
非常感谢任何反馈。提前致谢。
最佳答案
有两个虚拟节点,没有特殊情况。由于前面总是有一个虚拟节点,最后有一个虚拟节点,因此您永远不会对空列表进行操作。您从不在最前面插入。你永远不会在最后面插入。所有的插入和删除都在中间——这是两个哨兵节点的点。
关于c++ - 指针前后,C++中的双向链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081595/