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());
        }
    }
  • 相关阅读:
    性能优化方法(Z)
    .NetChajian
    ServiceStack.Redis订阅发布服务的调用(Z)
    C#操作XML总结
    WPF DataGrid 性能加载大数据
    Mongodb 基础(Z)
    WPF 主题切换(Z)
    .Net全景视图
    C#动态创建和动态使用程序集、类、方法、字段等
    P3370 【模板】字符串哈希
  • 原文地址:https://www.cnblogs.com/laolei11/p/10643261.html
Copyright © 2011-2022 走看看