博客 / 詳情

返回

java node 遞歸鏈表

使用java實現正向鏈表

Node類

public class Node {
    
    public Object data;
    public Node next;
    
    public Node(Object data) {
        super();
        this.data = data;
    }

NodeLink類

public class NodeLink {
    
    Node head;
    
    Node last;
    
    public void getLastNode(Node node){
        if(node.next!=null){
            getLastNode(node.next);
        }else if(node.next==null){
            last=node;
        }
    }
    
    public Node addNode(Node another){
        if(head==null){
            head=another;
        }else{
            getLastNode(head);
            System.out.println(last.data);
            last.next=another;
        }
        return head;
    }
    
    public void print(Node node){
        System.out.print(node.data+"-->");
        if(node.next!=null){
            this.print(node.next);
        }
    }

加幾個方法就能變成雙向鏈表
PS. 和機構,菜單的遞歸幾乎一樣
測試

public static void main(String[] args) {
        NodeLink link=new NodeLink();
        Node a=new Node("a");
        Node b=new Node("b");
        Node c=new Node("c");
        Node d=new Node("d");
        link.addNode(a);
        link.addNode(b);
        link.addNode(c);
        System.out.println();
//        System.out.println(a.next);
//        System.out.println(b.next);
//        System.out.println(c.next);
        link.addNode(d);
        System.out.println("-------------");
        link.print(link.head);
    }
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.