算法分析之:链表(java实现)

package linklist;

/*链表*/

public class LinkListDemo {
    public static void main(String args[]){
        NodeMAanager nodeMAanager = new NodeMAanager();
        nodeMAanager.addNode("node1");
        nodeMAanager.addNode("node2");
        nodeMAanager.addNode("node3");
        nodeMAanager.addNode("node4");
        nodeMAanager.addNode("node5");
        nodeMAanager.addNode("node6");
       
        nodeMAanager.delNode("node1");
        nodeMAanager.delNode("node2");
        //nodeMAanager.delNode("node5");
       
        nodeMAanager.printNode();
    }
}

//节点管理
class NodeMAanager{
    private Node root;//根节点
   
    //添加节点
    public void addNode(String name){
        if(root==null){
            root = new Node(name);
        }else{
            root.add(name);
        }
    }
    //删除节点
    public void delNode(String name){
        if(root!=null){
            if(root.name.equals(name)){
                root = root.next;
            }else{
                root.del(name);
            }
        }
    }
    public void printNode(){
        if(root!=null){
            System.out.println(root.name);
            root.print();
        }else{
            System.err.println("LinkList is null");
        }
    }
    //内部节点类
    class Node{
        private String name;
        private Node next;
        public Node(String name){
            this.name = name;
        }
        public void add(String name){
            if(this.next==null){
                this.next = new Node(name);
            }else{
                this.next.add(name);
            }
        }
        public void del(String name){
            if(root.next!=null){
                if(root.next.name.equals(name)){
                    this.next = this.next.next;
                }else{
                    this.next.del(name);
                }
            }
        }
        public void print(){
            if(this.next!=null){
                System.out.println(this.next.name);
                this.next.print();
            }
        }
    }
}

你可能感兴趣的:(算法分析之:链表(java实现))