package com.demo;
import java.util.Scanner;
/**
* description
* @author xiangqian
* @since 2022/05/13 11:00
*/
public class ArrayQueue {
/**
* 最大存储数量
*/
private int maxSize;
/**
* 指向队列的最后一个元素 加一个元素
*/
private int rear;
/**
* 当前元素数量
*/
private int count;
/**
* 模拟队列存储数据
*/
private int[] arrayQueue;
ArrayQueue(int maxSize) {
this.maxSize = maxSize;
this.arrayQueue = new int[maxSize];
this.rear = 0;
this.count = 0;
}
/**
* 判断容量是否为空
*/
public boolean isNull() {
return rear == 0 ? true : false;
}
/**
* 判断容量是否满了
*/
public boolean isFull() {
return count >= maxSize ? true : false;
}
/**
* 添加数据
*/
public void addQueue(int value) {
if (isFull()) {
System.out.println("数据已满");
return;
}
arrayQueue[rear] = value;
rear++;
count++;
}
/**
* 取出数据
*/
public void getQueue() {
if (isNull()) {
System.out.println("数据为空");
return;
}
rear--;
count--;
System.out.printf("取出数据为:" + arrayQueue[rear]);
}
public static void main(String[] args) {
ArrayQueue queue = new ArrayQueue(3);
boolean tempFor = true;
while (tempFor) {
System.out.println("输入a添加数据");
System.out.println("输入g获取数据");
System.out.println("输入e退出");
Scanner scanner = new Scanner(System.in);
String v = scanner.next();
switch (v) {
case "a":
System.out.println("输入添加数据");
int s = scanner.nextInt();
queue.addQueue(s);
break;
case "g":
queue.getQueue();
break;
case "e":
tempFor = false;
break;
default:
break;
}
}
System.out.println("结束");
}
}
002.数组模拟队列
最新推荐文章于 2024-09-27 00:45:01 发布