可以比较直观地理解队列的模型~~
import java.util.Scanner;
/**
* 使用数组完成队列功能
*/
public class ArrayQDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入数字,创建一个队列");
ArrayQu arrayQu = new ArrayQu(sc.nextInt());
while (true){
System.out.println("*******************");
System.out.println("1: 展示队列");
System.out.println("2: 添加队列信息");
System.out.println("3: 取值");
System.out.println("9: 退出");
System.out.println("*******************");
switch (sc.nextInt()){
case 1:{
arrayQu.showQ();
break;
}
case 2:{
System.out.println("请输入一个数");
arrayQu.add(sc.nextInt());
break;
}
case 3:{
arrayQu.get();
arrayQu.showQ();
break;
}
case 9:{
int i = 1;
System.exit(i);
break;
}
default:{
System.out.println("请输入正确的字符");
break;
}
}
}
}
}
class ArrayQu {
private int maxSize;
private int headNode;
private int bottomNode;
private int[] arr;
public ArrayQu(int arrMaxSize) {
maxSize = arrMaxSize;
headNode = 0;
bottomNode = 0;
arr = new int[maxSize];
}
public boolean isEmpty() {
return headNode == bottomNode;
}
public boolean isFull() {
return headNode == maxSize;
}
public void add(int a) {
if (!isFull()) {
arr[headNode] = a;
headNode++;