链表数据结构实现(应用递归算法理念)

来源:互联网 发布:plc编程软件win7 64位 编辑:程序博客网 时间:2024/06/16 17:22

链表数据结构实现(应用递归算法理念)

package 算法_algorithm;/* * 链表数据结构 * 适合用于频繁的进行添加,插入,删除操作 */public class linked {    public static void main(String[] args) {        NodeManager manager=new NodeManager();        manager.addNode("1");//增加节点        manager.addNode("2");//增加节点        manager.addNode("3");//增加节点        manager.addNode("4");//增加节点        manager.addNode("5");//增加节点        manager.delNode("4");//删除节点        manager.printNode();//打印所有节点    }}//**************NodeNanager:*****************class NodeManager{    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.getName().equals(name)) {                        root=root.next;                    }else {                        root.del(name);                    }               }            //打印所有节点            public void printNode() {                if(root!=null) {                    System.out.print(root.getName()+"->");                }                root.print();            }    //*****************************    //每一个节点对象    class  Node{        private String name;        private Node next;//当前节点的下一个节点        public String getName() {            return name;        }        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(this.next!=null) {                if(this.next.name.equals(name)) {                    this.next=this.next.next;                }else {                    this.next.del(name);                }            }        }        //打印所有节点        public void print() {            if(this.next!=null) {                System.out.print(this.next.getName()+"->");                this.next.print();            }        }    //*****************************    }}
原创粉丝点击