【发布时间】:2014-08-28 20:35:15
【问题描述】:
问题: 链表 = a,b,c,d,e = node1, node2, node3, node4, node5
我在第 5 个节点上,想要获取第 2 个节点的值(值 = b)。我遍历并没有保存第二个节点的值。现在我在第 5 个节点。无法返回或重新开始。
我有什么方法?
它是一个 c++ singly non-circular linked list 我不能返回或循环移动方向,节点 1,2,3,4,5
如果我在节点 5 上,我可以将第二个节点设为尾(我在尾 = 5 之前)吗?)我只想通过任何方式获取第二个节点的值。我在想,以某种方式,我可以将第 5 名放在第 2 名之后,或者将第 2 名放在第 5 名之后。然后向前迈出一步。 (因为我可以前进但不能后退)。然后获取第二个节点的值。
如果我知道有 5 个元素。我不能将b 元素作为尾部。此时,我将在第 4 个 e(不再是尾巴)然后我可以前进到第 5 个元素 b(直到我将第 2 个元素变成第 5 个元素才出现)
【问题讨论】:
-
您始终拥有列表的头部,因此您只需从那里迭代即可到达您想要的节点。
-
重申不是一种选择
-
“无法返回或重新开始。” - 是的。游戏结束。
-
头,尾?你说的是单链表还是你在说什么?
-
你能举个具体的例子吗?向您展示如何处理此类案件会更容易。
标签: c++ c list linked-list