Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 获取单个非循环linkedlist中指针后面的节点的值_C++_C_List_Linked List - Fatal编程技术网

C++ 获取单个非循环linkedlist中指针后面的节点的值

C++ 获取单个非循环linkedlist中指针后面的节点的值,c++,c,list,linked-list,C++,C,List,Linked List,问题: Linkedlist=a、b、c、d、e=node1、node2、node3、node4、node5 我在第5个节点上,希望获取第2个节点的值(值=b)。我遍历并没有保存第二个节点的值。现在我在第五节点。不能回去或重新开始 我有什么办法 是一个C++ >代码>单非循环链表< /> > i 不能返回或移动在圆< /强>方向,节点1,2,3,4,5< /p> 如果我在节点5上,我可以将第二个节点设置为tail(我以前在tail=5上)吗?这通常是不可能的,因为根据定义,单链接的非循环列表没

问题: Linkedlist=a、b、c、d、e=node1、node2、node3、node4、node5

我在第5个节点上,希望获取第2个节点的值(值=
b
)。我遍历并没有保存第二个节点的值。现在我在第五节点。不能回去或重新开始

我有什么办法


是一个C++ >代码>单非循环链表< /> > i <强>不能返回或移动在圆< /强>方向,节点1,2,3,4,5< /p>


如果我在节点5上,我可以将第二个节点设置为tail(我以前在tail=5上)吗?这通常是不可能的,因为根据定义,单链接的非循环列表没有反向指针。找到第二个元素的唯一可靠方法是从第一个元素开始。

坏消息是你什么都做不了。比赛结束了。这就像在国际象棋中问,当你已经被将死的时候,最好的一步是什么

好消息是,无论你做什么编程任务(好吧,只要它可以通过图灵机器解决),都有一种方法可以对它进行编码,以防止你得到这样的位置


记住第二个元素,或者记住根,然后您将始终能够访问它。有些算法会记住最近(以前)的元素,例如,这就是从单个链接列表中删除节点的方式。

您始终拥有列表的标题,因此您只需从那里迭代即可到达所需的节点。重复不是“无法返回或重新开始”的选项-是。游戏结束了,头,尾?你说的是单链表还是什么?你能举个具体的例子吗?向您展示如何处理此类案件会更容易。听起来您的“有声望的前辈”可能根本没有那么有声望。单链接列表可以有多个指针?我想如果我们做2个指针,它们之间有3个节点的间隙。我们能做到吗?你可以随时记住以前的值,如果你愿意的话。如果你没有,你现在就无能为力了。“搜索所有内存”-不要。曾经不可移植且不可靠(误报)。@MasoodAhmad,你可以在你的结构中添加任何你想要的指针,但是你对链表的定义必须改变。