码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习之链表

时间:2016-01-23 23:08:45      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

数据结构学了,java实现下

package com.gh.Link;
/**
 * 链表的实现
 * @author ganhang
 *
 */
public class Links {
    public static void main(String[] args) {
        NodeManage nm=new NodeManage();
        nm.add("节点1");
        nm.add("节点2");
        nm.add("节点3");
        nm.add("节点4");
        nm.add("节点5");
        nm.add("节点6");
        nm.add("节点7");
        nm.add("节点8");
        nm.add("节点9");
        nm.add("节点10");
        nm.print();
        nm.delete("节点3");
        nm.print();
        }
}
package com.gh.Link;
/**
 * 链表管理(增删查)
 * @author ganhang
 *
 */
public class NodeManage {
    private Node root;

    public void add(String name) {
        if (root == null) {
            root = new Node(name);
        } else {
            root.addNode(name);
        }
    }

    public void delete(String name) {
        if (root != null) {
            if (root.name.equals(name)) {
                root = root.next;
            } else {
                root.delNode(name);
            }
        }
    }

    public void print() {
        if(root!=null){
            System.out.print(root.name);
            root.printNode();
            System.out.println();
        }
    }

    class Node {//内部类实现根节点下节点的操作
        private String name;
        private Node next;

        public Node(String name) {
            this.name = name;
        }

        public void addNode(String name) {
            if (this.next == null) {
                this.next = new Node(name);
            } else {
                this.next.addNode(name);
            }
        }

        public void delNode(String name) {
            if (this.next != null) {
                if (this.next.name.equals(name)) {
                    this.next = this.next.next;
                } else {
                    this.next.delNode(name);
                }
            }
        }
        public void printNode() {
            if(this.next!=null){
                System.out.print("-->"+this.next.name);
                this.next.printNode();
            }
        }
    }
}

 

Java学习之链表

标签:

原文地址:http://www.cnblogs.com/ganhang-acm/p/5154268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!