微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LinKList链式结构

LinKList链式结构
  1. 创建节点类Node;元素地址,添加中间存储值obj
        package com.LinkList;

        public class Node {
            private Node firstpro;
            private Node lastpro;
            private Object pro;

            public Object getPro() {
                return pro;
            }

            public void setPro(Object pro) {
                this.pro = pro;
            }

            public Node getFirstpro() {
                return firstpro;
            }

            public void setFirstpro(Node firstpro) {
                this.firstpro = firstpro;
            }

            public Node getLastpro() {
                return lastpro;
            }

            public void setLastpro(Node lastpro) {
                this.lastpro = lastpro;
            }



            @Override
            public String toString() {
                return "Node{" +
                        "firstpro=" + firstpro +
                        ", lastpro=" + lastpro +
                        ", pro=" + pro +
                        '}';
            }
        }

  1. 创建节点'实现节点存储,读取'
        package com.LinkList;

        public class LineListDemo {
            Node Firspro;
            Node Lastpro;
            int count = 0;
            //做一个空构造器
            public LineListDemo() {
            }
            //写一个add的添加元素到链中的方法
            public void add(Object obj){
                if(Firspro == null){
                    //对每个链创建为对象这是是上面创建的元素地址LinkList
                    Node node =new Node();
                    //只有一个节点的时后前后都为空
                    node.setFirstpro(null);
                    node.setLastpro(null);
                    //中间值为传入值
                    node.setPro(obj);
                    Firspro =node;
                    Lastpro =node;
                }else {
                    //将链封装成对象
                    Node node1 =new Node();
                    // 链中的第一个元素指向上一级的最后一个地址Lastpro
                    node1.setFirstpro(Lastpro);
                    //链中的最后一个元素值依旧为空
                    node1.setLastpro(null);
                    //中间值依旧为传入值
                    node1.setPro(obj);
                    //需要将当前链中的最后一个元素地址指向node1
                    Lastpro =node1;
                }
                //对链进行计数
                count++;
            }
            public int EleCount(){
                return count;
            }
            public Object getNext(int index){
                //获取列表头元素
                Node n = Firspro;
                for (int i =0;i<=index;i++){
                    //让未节点是下一个节点元素
                    Node lastpro = n.getLastpro();
                }
                //返回此节点的中间元素值
                return n.getPro();
            }
        }
        class DemoImager{
            public static void main(String[] args) {
                //将LineListDemo封装成对象
                LineListDemo LLDemo = new LineListDemo();
                //调用方法add将元素添加到链中
                LLDemo.add(265);
                LLDemo.add(263);
                LLDemo.add(264);
                System.out.println(LLDemo.EleCount());
                System.out.println(LLDemo.getNext(2));
            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐