gpt4 book ai didi

java - 链表头尾的实用性

转载 作者:行者123 更新时间:2023-12-02 04:43:55 25 4
gpt4 key购买 nike

据我了解,头总是指向列表中的第一个节点。尾部始终指向链表中的最后一个节点。

问题:

1) 但就实用性而言,为什么有尾部有用呢?

我知道拥有 head 很有用,因为您需要一个包含空引用的哨兵节点,这是 head 的工作。

2)从头开始显示列表还是从尾部开始显示列表真的很重要吗?

我看到了一些带有尾部的链表实现和其他没有尾部的实现。

public void insert(Link link)
{
// this executes once
// when linked list is initially empty
if(head == null)
{
// next point to the head
link.next = head;
// head point to the inserted link
head = link;
// tail point to the inserted link as well
tail = link;
}
else
{

// next point to tail
link.next = tail;
// tail point to the inserted link
tail = link;
}

}

public void display()
{
// display the linked list starting from the tail back to head
while(tail != null)
{
System.out.println(tail.data);
tail = tail.next;

}
}

最佳答案

在链表的开头,头和尾都指向空。当添加新节点时,它们都指向新元素。但是,同样,只要再次添加新元素,头始终指向第一个元素,而尾部则指向添加的新元素。

Head points to the starting node of the linked list, AND Tail points to the last node of the linked list.

  1. 尾部允许更快地进行反向引用。比如,向最后一个节点添加元素,从链表的逆序开始遍历。因此,尾部也起着重要作用。使用 head 指针执行相同的操作会很麻烦。

一旦分配给节点,头就不会改变其位置,而尾会移动直到链接的最后一个节点。

  • 嗯,链表节点的显示顺序是根据它们添加到列表中的方式来显示的。所以,是的,它总是很重要,并且 headtail 的显示总是不同的,反之亦然。
  • 我希望这能消除您的困惑。

    关于java - 链表头尾的实用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862122/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com