c++ - 获取单非循环链表中指针后面节点的值

标签 c++ c list linked-list

问题: 链表 = a,b,c,d,e = 节点1, 节点2, 节点3, 节点4, 节点5

我位于第 5 个节点,想要获取第 2 个节点的值 (value = b)。我遍历了一下,并没有保存第二个节点的值。现在我处于第五个节点。无法回去或重新开始。

我有什么办法?

<小时/>

它是一个 C++ 单非循环链表,我无法返回或沿循环方向移动,节点 1,2,3,4,5

如果我在节点 5 上,我可以将第二个节点设置为尾节点(之前我在 tail = 5 上)吗?) <- 我可以在仍处于节点 5 上且不后退或前进的情况下这样做吗?我只想以任何方式获取第二个节点的值。我在想,以某种方式,我可以将第五名放在第二名之后,或者将第二名放在第五名之后。然后向前迈出一步。 (因为我可以前进但不能后退)。然后获取第二个节点的值。

如果我知道有 5 个元素。我不能只将 b 元素作为尾部吗?此时,我将位于第 4 个 e(它将不再是尾部),然后我可以前进到第 5 个元素 b(直到它出现为止)我使第二个元素成为第五个元素)

最佳答案

这通常是不可能的,因为单链接非循环列表,根据定义,没有后向指针。查找第二个元素的唯一可靠方法是从第一个元素开始。

关于c++ - 获取单非循环链表中指针后面节点的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626217/

相关文章:

c++ - 访问同一类对象的私有(private)元素

c - |c|系列 1+2x+3x^2+4x^3+....nx^(n-1)

更改代码以使其并行

c - 需要为 GDB 中的共享库加载调试符号

c++ - 对 vtable 的 undefined reference ...

c++ - 尽管有打印功能,但我的 Vector 没有打印

javascript - 在 QML 中访问 QList 对象

python - 字典中的最大键值

Java 迭代器无限循环

java - 为什么 List.subList(size, size) 上没有 IndexOutOfBoundsException?