liang-leetCode/src/dataANDcalc/java/queue/ArrayQueue.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();
}
}