71 lines
1.7 KiB
Java
71 lines
1.7 KiB
Java
package queue;
|
|
|
|
import java.util.Scanner;
|
|
|
|
public class ArrayQueue {
|
|
|
|
private int maxSize;
|
|
private int front;//队列头前一个位置
|
|
private int rear;//队列尾的位置
|
|
private int[] queue;
|
|
|
|
public ArrayQueue(int maxSize){
|
|
this.maxSize = maxSize;
|
|
queue = new int[this.maxSize];
|
|
front = -1;
|
|
rear = -1;
|
|
}
|
|
|
|
public boolean isFull() {
|
|
return rear == this.maxSize - 1;
|
|
}
|
|
|
|
public boolean isEmpty() {
|
|
return rear == front;
|
|
}
|
|
|
|
public void addQueue(int data){
|
|
if (isFull()){
|
|
System.out.println("队列已满");
|
|
return;
|
|
}
|
|
rear ++;
|
|
queue[rear] = data;
|
|
System.out.println("当前队列:");
|
|
for(int n : queue){
|
|
System.out.print(n + " ");
|
|
}
|
|
}
|
|
|
|
public String getQueue(){
|
|
if(isEmpty()){
|
|
System.out.println("队列为空");
|
|
return "队列为空";
|
|
}
|
|
front++;
|
|
return "获取到的数据为:" + queue[front];
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
ArrayQueue arrayQueue = new ArrayQueue(5);
|
|
Scanner scan = new Scanner(System.in);
|
|
while (true) {
|
|
System.out.println("a存数, g取数, exit退出:");
|
|
String handle = scan.next();
|
|
if ("exit".equals(handle)){
|
|
break;
|
|
}
|
|
if ("a".equals(handle)){
|
|
System.out.println("请输入入队数据:");
|
|
int data = scan.nextInt();
|
|
arrayQueue.addQueue(data);
|
|
}
|
|
if ("g".equals(handle)){
|
|
String resp = arrayQueue.getQueue();
|
|
System.out.println(resp);
|
|
}
|
|
}
|
|
scan.close();
|
|
}
|
|
}
|