双向链表的第一个和最后一个元素

时间:2018-05-04 11:27:03

标签: java algorithm list

我对双重链接列表有疑问。我在互联网上找不到任何合适的解释。也许我只是愚蠢地找到正确的问题..

这是链接列表初始化时的外观:

[Head][Tail]

但是当我将值添加到列表中时,实际的头部和尾部节点是否仍然存在,或者当我添加值时它们是否会被覆盖?

它应该是这样的:

[Head][Value1][Value2][Value3][Value4][Tail]

或者像这样:

[Value1][Value2][Value3][Value4][Value5]

非常感谢你。 < 3

2 个答案:

答案 0 :(得分:2)

初始化列表时,它就像:

<强> []

Head = null,Tail = null。

插入Value1后,它变为

<强> [值1]

Head = Value1,Tail = Value1

插入Value2后,它变为

<强> [值1] [值2]

Head = Value1,Tail = Value2

你没有单独的头部和尾部节点。 Head和Tail只是对现有节点的引用。因此,真实节点只是Value *节点,而Head和Tail只是引用。

答案 1 :(得分:0)

你应该设计它,这样当列表为空时,head和tail可以为null,列表如下所示:

<强> [值1] [值2] [值3] [值4] [值5]