作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解,头总是指向列表中的第一个节点。尾部始终指向链表中的最后一个节点。
问题:
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.
head
指针执行相同的操作会很麻烦。一旦分配给节点,头就不会改变其位置,而尾会移动直到链接的最后一个节点。
head
或 tail
的显示总是不同的,反之亦然。我希望这能消除您的困惑。
关于java - 链表头尾的实用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862122/
我在一家软件和硬件开发农场工作。今天,我的一位同事告诉我,NHibernate 仅对小型项目有用,对于复杂或大型项目,必须避免使用。而且,它使代码更难更改。 这些说法属实吗? 最佳答案 Ebay 使用
我是一名优秀的程序员,十分优秀!