首页主机资讯java循环链表怎么实现

java循环链表怎么实现

时间2023-12-10 05:35:02发布访客分类主机资讯浏览682
导读:在Java中实现循环链表可以使用节点类和循环链表类来实现。以下是一个简单的示例代码: public class Node { private int data; private Node next; public...

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

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


    public Node(int data) {
    
        this.data = data;
    
        this.next = null;

    }


    public int getData() {
    
        return data;

    }


    public void setData(int data) {
    
        this.data = data;

    }


    public Node getNext() {
    
        return next;

    }


    public void setNext(Node next) {
    
        this.next = next;

    }

}


public class CircularLinkedList {
    
    private Node head;


    public void addToEmptyList(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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java循环链表怎么实现
本文地址: https://pptw.com/jishu/575718.html
win7安装程序无法注册模块怎么解决 php怎么合并两个数组

游客 回复需填写必要信息