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中异常类会影响性能吗

    在Java中,异常类本身不会对性能产生显著影响。异常处理机制是为了在程序运行时处理错误或异常情况,而不是为了优化性能。然而,在使用异常时,需要注意以下几点...

  • java中异常类如何避免

    在Java中,避免异常的最好方法是编写健壮的代码并遵循一些最佳实践。以下是一些建议: 预期和处理异常:使用try-catch语句来捕获和处理可能发生的异常。确保处理...

  • java中异常类有哪些常见类型

    Java中的异常类主要分为两大类:受检异常(Checked Exceptions)和非受检异常(Unchecked Exceptions)。以下是具体的异常类型:
    受检异常(Checked Except...

  • java中异常类怎么捕获

    在Java中,我们使用try-catch语句来捕获异常。当程序执行过程中遇到异常时,Java运行时系统会抛出一个异常对象。你可以使用try块来包含可能引发异常的代码,然后...

  • 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 调用函数时,在函数名后...