int data) { this.data = https://www.yisu.com"> int data) { this.data = https://www.yisu.com">
117.info
人生若只如初见

java循环链表怎么实现

在Java中实现循环链表可以使用节点类和循环链表类来实现。以下是一个简单的示例代码:

public class Node {
    private int data;
    private Node next;

    public Node(int data) {
        this.data = https://www.yisu.com/ask/data;"hljs">int data) {
        this.data = https://www.yisu.com/ask/data;"hljs">int data) {
        Node newNode = new Node(data);
        newNode.setNext(newNode);
        head = newNode;
    }

    public void addToFront(int data) {
        Node newNode = new Node(data);
        if (head == null) {
            addToEmptyList(data);
        } else {
            newNode.setNext(head);
            Node temp = head;
            while (temp.getNext() != head) {
                temp = temp.getNext();
            }
            temp.setNext(newNode);
            head = newNode;
        }
    }

    public void addToEnd(int data) {
        Node newNode = new Node(data);
        if (head == null) {
            addToEmptyList(data);
        } else {
            newNode.setNext(head);
            Node temp = head;
            while (temp.getNext() != head) {
                temp = temp.getNext();
            }
            temp.setNext(newNode);
        }
    }

    public void display() {
        if (head == null) {
            System.out.println("List is empty");
        } else {
            Node temp = head;
            do {
                System.out.print(temp.getData() + " ");
                temp = temp.getNext();
            } while (temp != head);
            System.out.println();
        }
    }

    public static void main(String[] args) {
        CircularLinkedList list = new CircularLinkedList();
        list.addToEnd(1);
        list.addToEnd(2);
        list.addToFront(3);
        list.display();
    }
}

这个示例代码中,Node类表示链表的节点,具有数据和下一个节点的引用。CircularLinkedList类表示循环链表,使用头节点(head)来表示循环链表的起始位置。

addToEmptyList方法用于在空链表中添加一个节点,addToFront方法用于在链表的前面添加一个节点,addToEnd方法用于在链表的末尾添加一个节点。

display方法用于打印循环链表的所有节点。

main方法中,我们创建了一个循环链表,并添加了一些节点,然后调用display方法打印链表的内容。

输出结果为:3 1 2

未经允许不得转载 » 本文链接:https://www.117.info/ask/fed01AzsLAgZTAlA.html

推荐文章

  • java怎么实现平衡二叉树

    要实现平衡二叉树,可以使用红黑树或AVL树这样的自平衡二叉搜索树。以下是使用AVL树实现平衡二叉树的示例代码:// AVL树节点类
    class Node {
    intval;<...

  • java model类的用法是什么

    Java中的Model类用于表示系统中的实体或数据对象。它通常用于将数据库表格映射到Java对象,以便在程序中处理和操作这些对象。
    Model类的用法包括: 封装数据...

  • java工作流的应用场景有哪些

    Java工作流的应用场景包括但不限于以下几个方面: 业务流程管理:Java工作流可以用于管理和自动化各种业务流程,如审批流程、订单处理流程、报销流程等。通过定义...

  • java collection集合的子类怎么定义

    在Java中,可以通过继承Collection接口来定义集合的子类。具体步骤如下: 创建一个类并实现Collection接口。
    public class MyCollection implements Collec...

  • C#中LINQ对象怎么引用

    在C#中使用LINQ时,需要引入System.Linq命名空间。可以通过以下两种方式来引用LINQ对象: 使用关键字using引入命名空间: using System.Linq; 这样就可以在代码中...

  • Python random.shuffle()函数的用法是什么

    Python random.shuffle()函数是用于将一个序列(列表、元组)中的元素随机打乱的函数。它会改变原始序列的顺序,打乱后的顺序是随机的。
    函数的语法如下:<...

  • c语言循环嵌套输出图形怎么实现

    在C语言中,可以使用嵌套循环来输出各种图形。下面是一些常见图形的实现方法: 输出直角三角形: #include int main() { int rows, i, j; printf("请输入行数: "...

  • python如何调用函数中的参数

    在Python中,可以使用函数调用运算符()来调用函数并传递参数。具体的调用方式如下: 定义一个函数,例如: def add(x, y): return x + y 调用函数时,在函数名后...