是循环链接列表的新手,我想知道它们是否与Goodrich教科书中显示的内容相同,但我'觉得'顶部的内容完全相同。
tail = new Node(s, tail);
//----------------------------------------------------
tail = new Node(s, null);
tail.setNext(tail);
否,因为第一个版本中的tail
的值为旧值,而第二个版本中的tail
的值为新值,即新的Node
本身。
该代码仅在代码运行时列表为空的情况下才有意义,否则您将不希望新节点将其自身称为next
。在这种情况下,tail
的旧值为空,这意味着第一个版本与:
tail = new Node(s, null);
这很明显,两个版本不相同。