这两个语句在循环链表中是否等效?

问题描述 投票:0回答:1

是循环链接列表的新手,我想知道它们是否与Goodrich教科书中显示的内容相同,但我'觉得'顶部的内容完全相同。

tail = new Node(s, tail);
//----------------------------------------------------
tail = new Node(s, null);
tail.setNext(tail);
java linked-list
1个回答
0
投票

否,因为第一个版本中的tail的值为旧值,而第二个版本中的tail的值为新值,即新的Node本身。

该代码仅在代码运行时列表为空的情况下才有意义,否则您将不希望新节点将其自身称为next。在这种情况下,tail的旧值为空,这意味着第一个版本与:

tail = new Node(s, null);

这很明显,两个版本不相同。

© www.soinside.com 2019 - 2024. All rights reserved.