我在理解练习时遇到了问题。我必须开发一个线性链表。但我不必区分列表和节点。
构造函数Node应创建一个节点,并将其作为参数传递给列表。
通常我会浏览列表并在其末尾添加一个节点。这是我的代码。
class Node{
Object data;
Node link;
public Node(Object pData, Node pLink){
this.data = pData;
this.link = pLink;
}
public String toString(){
if(this.link != null){
return this.data.toString() + this.link.toString();
}else{
return this.data.toString() ;
}
}
public void inc(){
this.data = new Integer((Integer)this.data + 1);
}
}
也许我今天刚刚学到了很多东西,我的大脑也无法接受更多的信息:D请帮帮忙!
答案 0 :(得分:1)
您需要修改节点的下一个指针,使其指向作为参数传入的列表。
这实际上是您的代码已经在做的事情。我尝试了running it,它给出了正确的结果。 :)
您可能需要考虑在toString
的实现中包含一个分隔符,以便在数据中的数字大于9时输出仍然清晰。
答案 1 :(得分:1)
我不确定你在问什么,但我认为这就是你想要的,所以在这里。
让我们说你已经有了头脑
Node head = ...
您可以通过
附加到此处head = new Node(..., head)
注意我再次分配头部,所以现在头部指向新创建的节点。