• 循环双链表(八)


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

    循环双链表插入

    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());
        }
    }
  • 相关阅读:
    linux下SVN迁移
    hive-site.xml
    5.扩展 GROUP BY
    4.锁——避免重复启动同一程序
    1.执行计划探究(一)
    1.日期_星期
    3.放弃CHAR吧,在铸成大错之前!
    2.NULL 的问题
    1.ORACLE 尽量不使用隐式转换
    webservice
  • 原文地址:https://www.cnblogs.com/laolei11/p/10643261.html
Copyright © 2020-2023  润新知