gpt4 book ai didi

java - 使用节点的自定义链表

转载 作者:行者123 更新时间:2023-12-01 06:19:04 25 4
gpt4 key购买 nike

我在使用链接列表/节点时遇到了困难,我基本上必须仅使用节点在 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 + "";
}
}
}

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

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

我想要做的是使用 add 方法基本上创建一个新节点...但我不明白如何真正做到这一点,关于如何做到这一点的任何提示?

最佳答案

请查找LinkedList的实现here

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

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

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

关于java - 使用节点的自定义链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14847602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com