zoukankan      html  css  js  c++  java
  • 循环双链表(八)

    双链表和单链表的区别是多了一个指向上一个节点的指针。

    循环双链表插入

    1、找到该链表的下一个节点。

    2、新插入的节点上一个节点指向该链表,下一个指针指向该链表的下一个节点。

    3、该链表下一个节点指向新插入的节点。

    所有

    public class DoubleNode {
    
        int data;
        DoubleNode next = this;
        DoubleNode pre = this;
    
        public DoubleNode(int data) {
            this.data = data;
        }
    
        public void after(DoubleNode node) {
            // 保存当前节点的下一个节点
            DoubleNode nextNode = this.next;
    
            // 新插入节点 链接上下
            node.next = nextNode;
            node.pre = this;
            this.next = node;
        }
    
        public DoubleNode getNext() {
            return this.next;
        }
    
        public DoubleNode getPre() {
            return pre;
        }
    
        public int getData() {
            return data;
        }
    
    }

    测试

    public class NodeTest {
    
        public static void main(String[] args) {
            DoubleNode doubleNode = new DoubleNode(1);
            DoubleNode doubleNode2 = new DoubleNode(2);
            DoubleNode doubleNode3 = new DoubleNode(3);
            doubleNode.after(doubleNode2);
            doubleNode2.after(doubleNode3);
            System.out.println(doubleNode.getNext().getPre().getData());
            System.out.println(doubleNode.getNext().getNext().getNext().getData());
        }
    }
  • 相关阅读:
    传参问题-HttpMessageNotReableException
    排序03-简单排序法
    排序02-直接插入排序法
    排序01-冒泡排序法
    书摘
    CS229
    SLAM学习笔记
    形态学图像处理
    SLAM学习笔记
    SLAM学习笔记
  • 原文地址:https://www.cnblogs.com/laolei11/p/10643261.html
Copyright © 2011-2022 走看看