这应该是一个相当基本的问题,但我一生都无法弄清楚。我正在使用我的导师给我的两个文件,我必须编写一个方法removeFirst
来从声明的链表中删除头部并返回旧的头部值。它不能接受任何参数。这是文件 1和文件 2。
我的 removeFirst 和调试代码如下。我不知道如何在aList
不能将其用作参数的情况下引用它,尤其是因为链表不是全局的。当我使用调试代码时,它会打印aList
,然后打印21
(它应该删除的列表的头部,以及removeFirst
应该返回的内容),但是它不打印更新的链表——它只是空白。
removeFirst
代码:
public IntNode removeFirst() {
IntNode cur = getHead();
head = cur.getNext();
head.setPrev(null);
cur.setNext(null);
return cur;
}
调试代码(在底部main
):
for(int i = 0; i < aList.size(aList.getHead()); i++) {
aList.print(aList.findObject(i));
}
aList.print(aList.removeFirst());
System.out.println("");
for(int j = 0; j < aList.size(aList.getHead()); j++) {
aList.print(aList.findObject(j));
}