查找圆形双链表长度的算法

时间:2019-04-26 08:52:48

标签: c++

我已经建立了一个双向双向循环列表,我想找到它的长度。 我只允许在“指针”列表中使用该功能。在列表中,我有一个二进制字段。 一个想法,我该怎么做? 我必须使用二进制字段,我不能使用辅助指针,而且必须非常复杂。

2 个答案:

答案 0 :(得分:3)

跟踪开始遍历的元素。开始沿着列表走动,并检查每个元素是否是您开始的元素。如果不是,则将计数增加一个,然后继续进行下一个元素。如果是,那么您已经访问了每个元素,并且当前计数值就是您想要的结果。

答案 1 :(得分:1)

您可以以某种方式浏览列表,计算拥有多少元素,直到返回起始元素!