【发布时间】:2019-07-17 19:07:48
【问题描述】:
我的链表有一个 append 方法,我想在其中添加到尾部,但是当将新节点添加到链表时,headNode 和 tailNode 都成为新插入的节点。如何让 headNode 保持作为进入列表的第一个节点,而不是让它成为与 tailNode 相同的东西。
public static void append()
{
for(int x = 0; x < gradeArray.length; x++)
{
if(gradeArray[x] < 70)
{
StudentNode newNode = new StudentNode(nameArray[x], gradeArray[x], null);
if(headNode == null)
{
headNode = newNode;
}
else
{
tailNode.nextNode = newNode;
}
tailNode = newNode;
}
}
}
【问题讨论】:
-
当您调用 append() 时,您确定头节点未重置为 null 吗?能否在 append 方法中记录头节点和尾节点,看看它们是否为空?
-
headNode 在类中声明为:private static StudentNode headNode = null;
-
是否打算在应用程序范围内只能有一个链表(因为
static)? -
是的,只有一个链表
-
您是否曾多次在该方法所在的位置创建此类? headNode 变量在这个类中的任何地方都发生过变化吗?
标签: java linked-list nodes singly-linked-list