Java数据结构 - 循环链表

Posted Qi-BJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数据结构 - 循环链表相关的知识,希望对你有一定的参考价值。

class LoopNode {
    // 节点内容
    private int data;
    // 下一个节点
    private LoopNode next;

    public LoopNode(int value) {
        this.data = value;
        // 将该节点的下一个节点指向自己
        this.next = this;
    }

    // 获取下一个节点
    public LoopNode next() {
        return this.next;
    }

    // 获取节点中的数据
    public int getData() {
        return this.data;
    }

    // 删除下一个节点
    public void removeNext() {
        // 先取出下下一个节点
        LoopNode nextNextNode = next.next;
        // 把下下一个节点设置为当前节点的下一个节点
        this.next = nextNextNode;
    }

    // 对于循环链表来说,单链表的插入操作就是添加节点的操作,但添加时每次都要从最后一个节点往后添加
    // 插入一个节点作为当前节点的下一个节点
    public void insert(LoopNode node) {
        // 取出下一个节点,作为下下一个节点
        LoopNode nextNode = next;
        // 把新节点作为当前节点的下一个节点
        this.next = node;
        // 把下下一个节点设置为新节点的下一个节点
        node.next = nextNode;
    }
}

public class Main {
    public static void main(String[] args) {
        LoopNode ln1 = new LoopNode(1);
        LoopNode ln2 = new LoopNode(2);
        LoopNode ln3 = new LoopNode(3);

        // 增加节点
        ln1.insert(ln2);
        ln2.insert(ln3);

        System.out.println(ln1.next().getData());
        System.out.println(ln2.next().getData());
        System.out.println(ln3.next().getData());
    }
}

 

以上是关于Java数据结构 - 循环链表的主要内容,如果未能解决你的问题,请参考以下文章

(java实现)双向循环链表

数据结构Java实现04----循环链表仿真链表

java实现单向循环链表

《图解数据结构与算法》(Java代码实现注释解析算法分析)

java数据结构-循环链表实现

(java实现)单向循环链表