以下是Java实现循环队列的代码,供您参考:
public class CircularQueue { private int[] queue; private int front; private int rear; private int size; public CircularQueue(int k) { queue = new int[k]; front = 0; rear = -1; size = 0; } public boolean enQueue(int value) { if (isFull()) { return false; } rear = (rear + 1) % queue.length; queue[rear] = value; size++; return true; } public boolean deQueue() { if (isEmpty()) { return false; } front = (front + 1) % queue.length; size--; return true; } public int Front() { if (isEmpty()) { return -1; } return queue[front]; } public int Rear() { if (isEmpty()) { return -1; } return queue[rear]; } public boolean isEmpty() { return size == 0; } public boolean isFull() { return size == queue.length; } }
该实现使用了数组来存储队列元素,使用front和rear两个指针指向队列的头和尾,以及size变量表示队列的大小。enQueue方法用于将元素添加到队列尾部,deQueue方法用于从队列头部删除元素,Front和Rear方法分别用于获取队列头部和尾部的元素。isEmpty和isFull方法分别用于判断队列是否为空和已满。