刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
解答思路:
实现循环队列的关键在于理解队列的循环特性,以及如何管理队列的头尾指针。以下是一种基本的实现思路:
最优回答:
以下是基于上述思路的Java代码实现:
public class CircularQueue {
private int[] queue; // 存储队列元素的数组
private int front; // 指向队列头部的指针
private int rear; // 指向队列尾部的指针
private int capacity; // 队列的容量
private int size; // 当前队列中的元素数量
public CircularQueue(int capacity) {
this.capacity = capacity + 1; // 额外一个空间用于区分队列空和满的状态
queue = new int[capacity];
front = 0;
rear = 0;
size = 0;
}
// 入队操作
public void enqueue(int element) {
if (isFull()) {
System.out.println("Queue is full. Cannot enqueue element.");
return;
}
queue[rear] = element;
rear = (rear + 1) % capacity; // 实现循环
size++;
}
// 出队操作
public int dequeue() {
if (isEmpty()) {
System.out.println("Queue is empty. Cannot dequeue element.");
return -1; // 返回无效值表示失败
}
int element = queue[front];
front = (front + 1) % capacity; // 实现循环
size--;
return element;
}
// 判断队列是否为空
public boolean isEmpty() {
return size == 0;
}
// 判断队列是否已满
public boolean isFull() {
return size == capacity - 1; // 预留一个空间用于区分队列空和满的状态
}
}
本文链接:请编写一段Java代码,实现一个循环队列的数据结构,包括队列的入队、出队、判断队列是否为空等基本操作
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!