使用节点的自定义链接列表

时间:2013-02-13 06:17:14

标签: java list

我很难使用链接列表/节点,我基本上只需要使用节点在Java中创建自己的链接列表。

这是我必须做的:

              -----                   -----           -----
     head -->|  B  |---------------->|  D  |-------->|  S  |
              -----                   -----           -----
               |                        |               |
               |   -----     -----      |   -----       |   -------     -----
               -->| Ben |-->| Bob |     -->| Dan |      -->| Sarah |-->| Sue |
                   -----     -----          -----           -------     -----

这是我到目前为止所拥有的:

public class index {

public static void main(String[] args) {
    //Front = start of list
    nameNode head = null; 


    //head = add(head,"Bob");
    //head.next = add(head,"Cat"); 
    //head.next.next = add(head, "Dog"); 

    nameNode cNode = new nameNode("C", null); 
    nameNode bNode = new nameNode("B",cNode);
    nameNode aNode = new nameNode("A",bNode);


    System.out.println(aNode.next); 


}

// This adds nodes to front of list
public static nameNode add(nameNode head, String movie)
{
    nameNode temp = new nameNode(movie, null); 
    temp.next = head; 
    return temp; 
}

//Private node class that creates new nodes 
private static class nameNode {

    public String data;

    public nameNode next; 

    public nameNode(String data, nameNode next){
        this.data = data; 
        this.next = next; 
    }

    public String toString(){
        return data + ""; 
    }
  }
}

那么我应该怎么做才能通过节点制作TOP列表和BOTTOM子列表。所以我的想法是基本上为B创建一个节点,然后将Ben和Bob链接在一起,链接到B.然后将B链接到D,依此类推?

此外,我正在玩节点,我认为我现在制作它们的方式是正确的吗?是否有另一种自动创建对象的方法,而不是我必须自己创建对象?

我希望能够做的是使用add方法基本上创建一个新节点......但我不明白为什么要这样做,有关如何做到这一点的任何提示?

1 个答案:

答案 0 :(得分:-1)

请查看LinkedList here

的实施情况

我在图示表示中注意到,每个节点指向数据以及下一个节点

但是你的nameNode类只有一个下一个指针。您可能必须使用LinkedList类中使用的其他引用。

还尝试使用泛型,以便您可以放置​​任何数据。