确定链接列表中的第一个节点

时间:2011-05-24 21:21:24

标签: c++ c linked-list nodes

如果链接列表的最后一个节点连接到第一个节点,则会发出响铃。 那么如何识别链表中哪个节点是第一个节点和最后一个节点?

5 个答案:

答案 0 :(得分:5)

你不会。如果它是一个戒指,那么第一个和最后一个是没有意义的。任何节点都可以是第一个或最后一个。

如果将“first”定义为“first first”,那么您可能希望向节点添加一些排序信息以便能够知道。

答案 1 :(得分:3)

据推测,会有一个指向链表的第一个节点的指针(您需要一种输入列表的方法)。此外,在这种情况下,方便的是维护指向列表中最后一个节点的指针。

如果您对您需要了解的内容更具体,我可以提供更多帮助。

答案 2 :(得分:3)

您所描述的是循环链接列表。基于仅维护最后一个节点,可以知道列表中的第一个和最后一个项目。从逻辑上讲,它需要它的继任者才能成为第一个节点。

维基百科对此有更多了解:https://en.wikipedia.org/wiki/Linked_list#Circularly_linked_list

答案 3 :(得分:2)

如果您要尝试实施循环列表,请查看http://en.wikipedia.org/wiki/Linked_list#Circularly_linked_list

答案 4 :(得分:1)

创建Linkedlist时,将第一个节点的地址存储在变量(最好是私有变量)中,以便在任何时候,您可以将此地址与当前节点的地址进行比较