代码实现: packagequeue;importjava.util.Scanner;publicclassCircleQueue{publicstaticvoidmain(String[]args){// 创建一个环形队列CircleArrayqueue=newCircleArray(4);//说明设置4, 其队列的有效数据最大是3charkey=' ';// 接收用户输入Scannerscanner=newScanner(System.in);//booleanloop=true;// 输出一个菜单...
1、既然是环形队列,那就一定有头有尾,有容量 2、既然是数组实现,那一定有个算法保证可以让数组循环起来 如图所示: rear为7 ,front为0,实际的数据为7,是因为rear定义指向了最后一个元素的后一个位置,所以满数组的size变成了size-1,空出的位置来保证循环 front 变量的含义做一个调整: front 就指向队列的第一...
①数组实现环形队列类 class ArrQueue {private int maxSize; //队列(数组)最大容量private int front; //指向队列头部,队列第一个元素的索引private int rear; //指向队列尾部,队列最后一个元素的后一个索引private int[] queue;//创造队列的构造器public ArrQueue(int maxSize){this.maxSize = maxSize;queu...
s(show):显示队列 e(exit):退出程序 a(add):添加数据到队列 g(get):从队列取出数据 h(head):查看队列头的数据 g 取出的数据是:1 s(show):显示队列 e(exit):退出程序 a(add):添加数据到队列 g(get):从队列取出数据 h(head):查看队列头的数据 h 队列头的数据是2 :s(show):显示队列 e(exit):退...
* description:数组实现环形队列 * author: xiaowang * */ public class MyQueue{ // 队列最大个数 private int size; // 元素真实个数 private int number; // 头指针,指向队列的第一个元素即队头 private int front; // 尾指针,指向队尾的后一个元素(非队尾) ...
使用数组实现队列 静态队列 环形队列 静态队列实现 了解到队列的基本概念之后,就需要准备以下参数 int front = -1;(队头) int rear = -1;(队尾) int maxSize(最大数量) int [] array(数组) 这里我默认队头和队尾默认值为-1,可按自己想法确定 ...
队列空: head==tail 队列满: (tail+1)% MAXN ==head package ds.queue; /** * 用数组实现环形队列 * 附加标志位法 */ public class ArrayCircleQueue { private int[] arr; private int maxSize; private int rear; private int front;
数组模拟环形队列(可复用) 对前面的数组模拟队列的优化,充分利用数组。将数组看做是一个环形的,即取出之后,有位置可以空出来添加。(通过取模的方式来实现即可) 分析说明:①尾索引的下一个为头索引时表示队列满,即将队列容量空出一个作为约定。在作判断队列满的时候需要注意(rear+ 1) % maxSize== front [满]...
import java.util.Scanner; public class circle_array { public static void main(String[] args) { circlearray arrque = new circlearray(4);//创建一个环形队列,这里设置4,其队列的有效数据最大为3 char key = ' ';//接收用户输入 Scanner scanner = new Scanner(System.in);// ...