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;
        }
    }
    
  • 相关阅读:
    转傻逼是傻逼的通行证,苦逼是苦逼的墓志铭 简单
    css 表格底边框在ie6下不显示 简单
    cookie设置、读取,domain、path、expires 简单
    js事件作用域问题 简单
    js鼠标事件定位 简单
    报到证的作用 简单
    转白领一族预防空调病全攻略 简单
    The "External World" is Inside the Brain
    [转]DllMain详解
    Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
  • 原文地址:https://www.cnblogs.com/lihao-bupt/p/12882871.html
Copyright © 2011-2022 走看看