给定一个单链表,如何从C中的指定节点确定头节点?

时间:2011-08-26 06:38:17

标签: c data-structures linked-list singly-linked-list

给出一个单链表,如何从指定节点(例如节点4)确定头节点。总节点数:10.谢谢。逻辑将做,代码表示赞赏。

我们知道给定一个头节点可以执行正向遍历并轻松确定下一个节点。

对于这种情况,使用双向链表会更简单,但我想知道是否可以使用单链表来追踪头节点。谢谢。

3 个答案:

答案 0 :(得分:3)

根据你所描述的那种单链表,完全不可能做到这一点。

答案 1 :(得分:0)

你的问题并不完全清楚。但唯一可行的方法是,如果你的每个候选人都是一个独特的名单的负责人,其中一个是你所追求的头脑。

对于每个候选人,遍历从其开始的列表。你最终将击中相应的尾部,否则你将击中相关节点。

即使你的候选人不是所有独特名单的负责人,你也可以使这项工作成功。但是你需要逻辑来检测重叠。

答案 2 :(得分:0)

你根本无法进入单链表。

来自维基百科:

  

单链表包含具有数据字段和a的节点   '下一个' field,指向节点行中的下一个节点。

由于您没有任何相关信息,因此无法返回上一个节点。如果您获得了单个链接列表的任何随机节点,则新列表的head将成为该节点,因为您无法继续返回。