java循环链表怎么实现

71次阅读
没有评论

共计 1470 个字符,预计需要花费 4 分钟才能阅读完成。

在 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

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-12发表,共计1470字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)