【发布时间】:2014-03-06 03:16:52
【问题描述】:
我需要双向链表,但在 STL 容器中找不到它(单链循环表也是如此)。
它可能看起来像这样:
element 0 <-> element 1 <-> ... <-> ...
^ ^
| |
v v
element n <-> element n-1 <-> element n-2
你能告诉我我错过了什么吗?提前致谢。
【问题讨论】:
-
你没有错过任何东西。标准库中没有这样的容器。
-
您将如何使用 STL 遍历循环列表?你会期望它无限循环吗?
-
没有。距离起始元素只有一个周期。
-
双向链表很有用模式,通常用于许多定义明确的用例。虽然我不希望它们是循环的,但不知道我是在
head还是tail。通常我让head节点的previous指针指向NULL,并相应地让尾部的next指针指向。这使得任何操作实现都变得更加容易。 -
线性列表在一种情况下有用,循环列表在另一种情况下有用。是不同的图案。在我的情况下,HEAD 在哪里并不重要。
标签: c++ linked-list c++-standard-library