栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

链表的“头”是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

链表的“头”是什么?

列表的开头是列表的第一个节点。它将为存储该节点引用的变量起一个好名字,如果列表为空,我希望它包含空引用。

somelinkedList.head         |         |         v        ______        ______        ______        |    |n|      |    |n|      |    |n|       |    |e|      |    |e|      |    |e|       | 12 |x| -->  | 34 |x| -->  | 56 |x| --> null       |    |t|      |    |t|      |    |t|       |____|_|      |____|_|      |____|_|

取决于上下文,尾巴可以指代不同的事物。我惯用的术语是,

34 -> 56 -> null
在此示例中,尾部与之相对应,也就是说,尾部与之相对应。

在其他上下文中,它可能是对最后一个节点的引用。在这种解释中,尾部将引用

56
您示例中的节点。


关于您的第一次编辑,这恰好是一个 完全不同的问题

指针是对应于存储器地址的值。引用是引用某个对象的值(或null)。您不能在Java引用上执行指针算术,但否则我会说它们非常相似。

可能会使您感到困惑的是,Java中的变量 永远不能包含对象 。对象始终存在于堆中,并且变量包含原始数据类型或对堆上对象的引用。


关于第二次编辑:

在您提供的示例中,看起来add方法跳过了第一个元素,从某种意义上说,确实如此。这是因为该实现具有“虚拟”元素作为头。查看构造函数中head变量的初始化:

head = new Node(null);

我不明白他们为什么决定这样做。对我来说,这看起来很愚蠢。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438449.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号