- 任务
主要是在上一篇数组模拟队列的基础上做了修改
数组模拟队列移步:java学习——数组模拟队列
- 修改了两个重要变量front和rear所代表的位置含义
变量 | 含义 |
---|---|
front | 指向队列第一个数据 |
rear | 指向队列最后一个数据的后一个位置 (以区别队列空与满) |
- 要达到循环利用的目的,采用取模的方法:
队列满:(rear+1)%maxSize=front
队列空:rear=front
队列中有效数据个数:(rear-front+maxSize)%maxSize
- 代码
环形队列代码仍然包含下列4个功能: - 加入数据到队列
- 从队列中取出数据
- 显示队列中的数据
- 显示队列的头数据
如下附上代码:
/*
*文件名称:CircleQueue.java
*作者:陈happy
*完成日期:2020.2.5
*
*代码功能:环形队列(出/入队列、显示队列、显示队头)
*/
import java.util.Scanner;
public class CirckeQueue {
public static void main (String args[]) {
Queue queue=new Queue(4);
char key=' ';
boolean loop=true;
Scanner t=new Scanner(System.in);
while(loop) {
System.out.println("a(addQueue):入队列");
System.out.println("o(outQueue):出队列");
System.out.println("s(show):显示队列");
System.out.println("h(head):显示队头");