为什么可以用tail实现add()的添加?
来源:8-6 实现Iterable接口

北极猫_
2018-01-18
这其中的逻辑很不理解
写回答
1回答
-
因为增加的链表的节点是接在链表末尾的。
这里的循环不变式是:每次运行完add之后,tail指向链表末尾。
所以在add中我们让tail指向我们新增加的节点,然后更新tail成我们新增加的节点。这样就把我们这个新的节点连接上去,并且保持了循环不变式。
112018-01-19
相似问题
为什么可以用tail实现add()的添加?
来源:8-6 实现Iterable接口
北极猫_
2018-01-18
这其中的逻辑很不理解
1回答
因为增加的链表的节点是接在链表末尾的。
这里的循环不变式是:每次运行完add之后,tail指向链表末尾。
所以在add中我们让tail指向我们新增加的节点,然后更新tail成我们新增加的节点。这样就把我们这个新的节点连接上去,并且保持了循环不变式。
相似问题