zoukankan      html  css  js  c++  java
  • JAVA基础学习之路(十二)链表

    定义链表的基本结构:

    class Link {//外部类
        //内部类,只为链表类服务
        private class Node {//定义节点类
            private String data;//保存的数据
            private Node next;//引用关系
            public Node (String data) {
                this.data = data;
            }
        private Node root;//定义根节点
        }
        
    }

    1.数据增加 public void add(数据类型,变量)

    如果要向链表之中增加数据,应该由Link类负责节点对象的产生,并由Link类维护根节点

    所有关系匹配交给Node类处理

    class Link {//外部类
        private Node root;//定义根节点
        //内部类,只为链表类服务
        private class Node {//定义节点类
            private String data;//保存的数据
            private Node next;//引用关系
    
            public Node (String data) {
                this.data = data;
            }
            
            public void addNode(Node newNode) {
                if (this.next == null) {//下一个位空,直接接后面
                    this.next = newNode;
                } else {//下一个不为空,后移一位再判断
                    this.next.addNode(newNode);
                }
            }
        }
        public void add(String data) {
            if (data ==null)  {
                return;
            }; 
            Node newNode = new Node(data);
            if (this.root == null) {
                this.root = newNode;
            } else {
                this.root.addNode(newNode);
            }    
        } 
    }
        
    
    public class test1 {
        public static void main(String args[]) {
                Link link = new Link();
                link.add("hello");
                link.add("world");
                link.add(null);
                
        }
    }

    2.取得保存的node个数public int size()

    1.在link类中增加count属性
    2.在add方法中增加 this.count ++ ,表示每次增加node则count加一
    3.增加public int size ()方法,返回count的值

    3.判断是否是空链表 public boolean isEmpty()

    两种方法:1.判断root是否为空

         2.判断数据量(count)

    public boolean isEmpty() {
        return this.count == 0;
    }

    4.数据查询 public boolean contains(数据类型,变量)

    判断某个数据是否存在

  • 相关阅读:
    java学习笔记07-循环
    java学习笔记06-条件语句
    java学习笔记05-运算符
    java学习笔记04-基本数据类型
    java学习笔记03-基本语法
    java学习笔记02-Eclipse IDE配置
    java学习笔记01-环境配置
    Jmeter学习笔记03-元件作用域及执行顺序
    JMeter学习笔记02-基础介绍
    [luogu3369/bzoj3224]普通平衡树(splay模板、平衡树初探)
  • 原文地址:https://www.cnblogs.com/xhnxhnu/p/9149518.html
Copyright © 2011-2022 走看看