我是数据结构的新手。当你创建一个包含头节点和尾节点的链表时,为什么我必须将新节点链接到尾节点?tail.next 链接到 newNode 还不够吗?
像这样:
public void add( Object data ) {
ListNode newNode = new ListNode( data );
if ( isEmpty() ) {
head = newNode;
} else {
tail.setNext( newNode );
}
tail = newNode;
length = length + 1;
}
Run Code Online (Sandbox Code Playgroud)
或者像这样:
if(head == null) {
head = tail = newNode;
} else {
tail.next = newNode;
tail = newNode;
}
Run Code Online (Sandbox Code Playgroud)
我查阅了 LinkedList 的基础知识,但我仍然不能很好地理解这一点。我不确定这如何让 head 链接到 tail 以及如果用 newNode 替换 tail ,tail 如何保留以前的值。你能向我解释一下吗?太感谢了!