zoukankan      html  css  js  c++  java
  • 单链表

      链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。
    以“结点的序列”表示线性表称作线性链表(单链表),单链表是链式存取的结构。

    package stack;
    
    public class Node {
        //节点内容
        int data;
        //下一个节点
        Node next;
    
        public Node(int data) {
            this.data=data;
        }
    
        //为节点追回节点
        public Node append(Node node) {
            //当前节点
            Node currentNode = this;
            //循环向后找
            while(true) {
                //取出下一个节点
                Node nextNode = currentNode.next;
                //如果下一个节点为null,当前节点已经是最后一个节点
                if(nextNode==null) {
                    break;
                }
                //赋给当前节点
                currentNode = nextNode;
            }
            //把需要追回的节点追加为找到的当前节点的下一个节点
            currentNode.next=node;
            return this;
        }
    
        //插入一个节点做为当前节点的下一个节点
        public void after(Node node) {
            //取出下一个节点,作为下下一个节点
            Node nextNext = next;
            //把新节点作为当前节点的下一个节点
            this.next=node;
            //把下下一个节点设置为新节点的下一个节点
            node.next=nextNext;
        }
    
        //显示所有节点信息
        public void show() {
            Node currentNode = this;
            while(true) {
                System.out.print(currentNode.data+" ");
                //取出下一个节点
                currentNode=currentNode.next;
                //如果是最后一个节点
                if(currentNode==null) {
                    break;
                }
            }
            System.out.println();
        }
    
        //删除下一个节点
        public void removeNext() {
            //取出下下一个节点
            Node newNext = next.next;
            //把下下一个节点设置为当前节点的下一个节点。
            this.next=newNext;
        }
    
        //获取下一个节点
        public Node next() {
            return this.next;
        }
    
        //获取节点中的数据
        public int getData() {
            return this.data;
        }
    
        //当前节点是否是最后一个节点
        public boolean isLast() {
            return next==null;
        }
    }
    
  • 相关阅读:
    java 的 四 个 基 本 特 性 ——封装 继承 多态 抽象
    java中的对象 方法 引用 等一些抽象的概念是什么意思呢?
    谈谈java中的并发(一)
    来说说Java中String 类的那些事情
    Alibaba SpringCloud (一) Nacos 集群环境搭建
    Window 环境下SonarQube的安装与部署
    Windows 环境下MySQL 8.0.15 安装配置指南
    Docker 入门
    Springboot中,Tomcat启动war包的流程
    SpringCloud入门(十一):Sleuth 与 Zipkin分布式链路跟踪
  • 原文地址:https://www.cnblogs.com/lihao-bupt/p/12882871.html
Copyright © 2011-2022 走看看