数据结构java循环队列
时间: 2023-11-26 22:46:31 浏览: 165
循环队列是一种特殊的队列,它的队尾指针可以指向队列的起始位置,形成一个环状结构。Java中可以使用数组来实现循环队列。下面是Java实现循环队列的示例代码:
```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两个指针来指示队列的头和尾。enQueue方法用于向队列中添加元素,deQueue方法用于删除队列中的元素,Front和Rear方法分别返回队列的头和尾元素。isEmpty和isFull方法用于判断队列是否为空或已满。
阅读全文