线性链表,前置节点

时间:2011-01-13 20:56:35

标签: java list

我在理解练习时遇到了问题。我必须开发一个线性链表。但我不必区分列表和节点。

构造函数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请帮帮忙!

2 个答案:

答案 0 :(得分:1)

您需要修改节点的下一个指针,使其指向作为参数传入的列表。

这实际上是您的代码已经在做的事情。我尝试了running it,它给出了正确的结果。 :)

您可能需要考虑在toString的实现中包含一个分隔符,以便在数据中的数字大于9时输出仍然清晰。

答案 1 :(得分:1)

我不确定你在问什么,但我认为这就是你想要的,所以在这里。

让我们说你已经有了头脑

Node head = ...

您可以通过

附加到此处
head = new Node(..., head)

注意我再次分配头部,所以现在头部指向新创建的节点。