Java 为什么我的';上一个';我的双链表是这样工作的吗?
我正在用Java编写一个程序来实现双链表 我已通过以下方式初始化了涉及“prev”(上一个节点)的方法: 我的程序工作不正常,所以我写了一个程序测试prev的值,它是:Java 为什么我的';上一个';我的双链表是这样工作的吗?,java,Java,我正在用Java编写一个程序来实现双链表 我已通过以下方式初始化了涉及“prev”(上一个节点)的方法: 我的程序工作不正常,所以我写了一个程序测试prev的值,它是: public int tester() { IntDNode t = head; t = t.getNext(); t = t.getPrev(); return t.getValue(); } 我向数组中添加了5个元素(01 2 3 4 5) 如果没有t=t.getPrev(),则我的值为
public int tester() {
IntDNode t = head;
t = t.getNext();
t = t.getPrev();
return t.getValue();
}
我向数组中添加了5个元素(01 2 3 4 5)
如果没有t=t.getPrev(),则我的值为1。对于t=t.getPrev(),我的值应为0时为2
我不知道我是在什么地方错误地初始化了我的方法,还是没有正确地赋值 您的构造函数是什么样子的?getPrev和get Next的构造函数的形式是:public IntDNode getPrev(){return prev;}为getNext()切换单词“prev”和“Next”。在我的代码中没有明确的内容可以让getPrev转到getNext,因为我只是返回“prev”的值,我指的是您的构造函数。最初如何设置
prev
和next
的值?您有某种类型的public IntDNode(){}
,对吗?对不起,我误解了。我有:public class IntDNode(){val=0;prev=null;next=null;}对不起,您可以发布整个IntDNode
类吗?到目前为止,我没有发现你所付出的有什么错。
public int tester() {
IntDNode t = head;
t = t.getNext();
t = t.getPrev();
return t.getValue();
}