JAVA怎么实现循环队列

avatar
作者
猴君
阅读量:2

在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: 1 System.out.println(queue.rear()); // Output: 3 queue.dequeue(); System.out.println(queue.front()); // Output: 2 System.out.println(queue.isFull()); // Output: false } } 

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!