117.info
人生若只如初见

JAVA怎么实现循环队列

在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() 方法分别用于检查队列是否为空和是否已满。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe5a4AzsLBABeDVM.html

推荐文章

  • java虚拟线程怎么应用

    Java虚拟线程,即Java虚拟机(JVM)中的线程,可以通过以下几种方式应用: 多线程编程:Java提供了多线程编程的支持,可以通过创建线程对象、实现Runnable接口或...

  • java开启线程的方法有哪些

    在Java中,开启线程有多种方法: 继承Thread类并重写run()方法。这是一种最常见的方法,直接继承Thread类,并在子类中重写run()方法来定义线程的执行逻辑。然后通...

  • java虚拟线程怎么实现

    在Java中,可以通过以下方式实现虚拟线程: 继承Thread类:创建一个继承自Thread类的子类,重写run()方法来定义线程的执行逻辑。然后通过调用start()方法来启动线...

  • java堆栈溢出如何解决

    Java堆栈溢出(StackOverflowError)是由于递归调用或者方法调用链过长导致的。以下是几种解决方法: 检查递归调用:如果程序中存在递归调用,可以检查递归条件是...

  • python列表如何去掉相同的数

    可以使用set()函数去除列表中的重复元素,然后再将结果转换回列表。下面是一个示例代码:
    numbers = [1, 2, 3, 2, 4, 1, 5, 6, 3, 7]
    # 使用set()函数...

  • python怎么获取命令行参数

    在Python中,可以使用sys模块来获取命令行参数。下面是一个例子:
    import sys
    arguments = sys.argv
    # 第一个参数是脚本名称,之后的参数是命令行...

  • python循环语句的特点有哪些

    Python循环语句的特点有以下几点: 简洁明了:Python的循环语句采用了简洁的语法,使得代码更易读、易懂。 灵活性强:Python提供了多种循环语句,如for循环、whi...

  • sql数据库无法连接到服务器如何解决

    出现无法连接到服务器的问题可能有多种原因,以下是一些常见的解决方法: 检查网络连接:确保服务器和数据库之间的网络连接正常。尝试使用ping命令测试服务器的可...