【发布时间】:2019-07-20 01:35:05
【问题描述】:
我正在学习 Java 数据结构课程,目前正在学习单链表。在addHead的方法中,为什么要检查tail == null?如果为真,为什么tail = head?
public void addHead(T d){
Node<T> n = new Node<>(d, head);
head = n;
size++
if(tail == null)
tail = head;
}
完整代码在这里:https://venus.cs.qc.cuny.edu/~ryba/cs313/linkedList/LinkedList.java
【问题讨论】:
-
您需要显示更多代码,以便我们了解如何使用
tail。从它的声音来看,列表还存储了一个指向其最后一个元素的指针(仅当它之前为空时,它现在已更改) -
嘿@Thilo 我已经插入了我正在研究的代码的链接,感谢您抽出时间提供帮助。
-
当列表不为空时,
tail应该始终指向列表中的最后一项,对吧?那么,当您刚刚将第一个项目插入列表时,您如何做到这一点?您如何确定您要插入的节点实际上是第一个节点?