1 回答
TA贡献2条经验 获得超0个赞
--------------这是我的那个代码请大神指导---------------
class Link{//负责链表的操作
//将Node定义成内部类,表示Node类只为Link类服务
//Node内部类在-------↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-------
private class Node{//负责数据与节点关系的匹配
private Object data;//保存数据与节点关系的匹配
private Node next;//保存下一个节点
public Node(Object data) {
this.data=data;
}
//第一次调用:this=Link.root
//第二次调用:this=Link.root.next
//第三次调用:this=Link.root.next.next
public void addNode(Node newNode) {//处理节点关系
if (this.next==null) {//当前节点的下一个为空
this.next=newNode;
}else {//当前当前节点的下一个不为空
this.next.addNode(newNode);
}
}
}
//---------------------------以下为Link类定义---------------------------------------//
private Node root;//属于根节点,没有根节点就无法进行数据的存放
public void add(Object data) {
if (data==null) {//认为追加了规定,不允许存放null
return;//方法结束调用
}
//如果要想进行数据的保存,那么必须将数据封装在Node节点类里边
//如果没有封装,则无法确认节点的先后顺序
Node newNode=new Node(data);//当前没有根节点
if (this.root==null) {//第一个节点设置为根节点
this.root=newNode;
}else {//根节点已经存在了
//应该把此时的节点顺序的处理交给Node类自己处理
this.root.addNode(newNode);// this.next.addNode(newNode);这个是把newNode加到自己的后继节点的位置上
}
}
}
public class TestLinkDemo {
public static void main(String[] args) {
Link all=new Link();
all.add("hello");
all.add("world");
all.add("mldn");
}
}
添加回答
举报