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