JAVA怎么实现循环队列

   2025-02-20 8490
核心提示:在Java中,可以使用数组和指针来实现循环队列。以下是一个简单的循环队列的实现示例:public class CircularQueue {private int[

在Java中,可以使用数组和指针来实现循环队列。以下是一个简单的循环队列的实现示例:

public class CircularQueue {private int[] queue;private int front;private int rear;private int size;private int capacity;public CircularQueue(int capacity) {this.capacity = capacity;queue = new int[capacity];front = 0;rear = -1;size = 0;}public void enqueue(int item) {if (isFull()) {System.out.println("Queue is full");return;}rear = (rear + 1) % capacity;queue[rear] = item;size++;}public int dequeue() {if (isEmpty()) {System.out.println("Queue is empty");return -1;}int item = queue[front];front = (front + 1) % capacity;size--;return item;}public int front() {if (isEmpty()) {System.out.println("Queue is empty");return -1;}return queue[front];}public int rear() {if (isEmpty()) {System.out.println("Queue is empty");return -1;}return queue[rear];}public boolean isEmpty() {return size == 0;}public boolean isFull() {return size == capacity;}}

使用示例:

public class Main {public static void main(String[] args) {CircularQueue queue = new CircularQueue(5);queue.enqueue(1);queue.enqueue(2);queue.enqueue(3);System.out.println(queue.front()); // Output: 1System.out.println(queue.rear()); // Output: 3queue.dequeue();System.out.println(queue.front()); // Output: 2System.out.println(queue.isFull()); // Output: false}}

在以上示例中,CircularQueue 类中的 enqueue() 方法用于向队列中添加元素,dequeue() 方法用于从队列中删除元素,front()rear() 方法用于返回队列的第一个元素和最后一个元素。isEmpty()isFull() 方法分别用于检查队列是否为空和是否已满。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言