没有头或尾的Java循环链表?
我的书只在一页上提到了循环链表,并说你可以通过使单链表或双链表的头和尾相互链接来创建它们。但是编程练习说: 循环链表不需要头或尾。相反,您只需要引用当前节点,即迭代器返回的下一个节点。实现这样一个类。对于非空列表,迭代器.hasNext方法将始终返回true没有头或尾的Java循环链表?,java,iterator,circular-list,Java,Iterator,Circular List,我的书只在一页上提到了循环链表,并说你可以通过使单链表或双链表的头和尾相互链接来创建它们。但是编程练习说: 循环链表不需要头或尾。相反,您只需要引用当前节点,即迭代器返回的下一个节点。实现这样一个类。对于非空列表,迭代器.hasNext方法将始终返回true 我真的不知道该如何处理这个问题。这个练习的措辞不会限制您的实施决策:它让您以最方便的方式实施列表,而不是指定特定的解决方案 您确实需要一个指向列表的指针,但由于列表是循环的,因此不需要特别指向任何地方。由于它不指向头部或尾部,因此您可以将其
我真的不知道该如何处理这个问题。这个练习的措辞不会限制您的实施决策:它让您以最方便的方式实施列表,而不是指定特定的解决方案 您确实需要一个指向列表的指针,但由于列表是循环的,因此不需要特别指向任何地方。由于它不指向头部或尾部,因此您可以将其称为
next
,并使其指向您认为方便的任何元素:
- 插入后,
可以指向刚才插入的元素next
- 删除后,
可以指向已删除元素之后或之前的元素next
- 搜索后,
可以保持不变next
上述方法是循环链表中的遍历方法。具体来说,你坚持什么?我知道如何制作单个链表,但我不知道如何在不引用头部或尾部节点的情况下将其制作为循环链表。这是整本书中唯一提到的循环链表。如果你想到一个循环,循环的“起点”和“终点”是什么?