Java中可以使用数组或者链表来实现循环队列。
- 使用数组实现循环队列:
public class CircularQueue { private int[] queue; private int front; private int rear; private int size; public CircularQueue(int capacity) { queue = new int[capacity]; front = 0; rear = -1; size = 0; } public boolean isEmpty() { return size == 0; } public boolean isFull() { return size == queue.length; } public void enqueue(int data) { if (isFull()) { throw new IllegalStateException("Queue is full"); } rear = (rear + 1) % queue.length; queue[rear] = data; size++; } public int dequeue() { if (isEmpty()) { throw new IllegalStateException("Queue is empty"); } int data = https://www.yisu.com/ask/queue[front];>
- 使用链表实现循环队列:
public class CircularQueue { private static class Node { int data; Node next; public Node(int data) { this.data = https://www.yisu.com/ask/data;"hljs">int data) { Node newNode = new Node(data); if (isEmpty()) { head = newNode; } else { tail.next = newNode; } tail = newNode; tail.next = head; // make it circular size++; } public int dequeue() { if (isEmpty()) { throw new IllegalStateException("Queue is empty"); } int data = https://www.yisu.com/ask/head.data;>以上是两种常见的循环队列的实现方式,可以根据自己的实际需求选择适合的实现方式。