package begin;
import java.util.*;
class queuer{
final int maxsize=8;
int[] data=new int[maxsize];
int head=0,real=0;
queuer() {
System.out.println("空队列创建成功。");
}
queuer(int[] dat) {
for(int i : dat) {
data[real]=i;
real++;
}
}
void addque(int a) {
if((real+1)%maxsize==head) {
System.out.println("队列已满。");
return;
}
data[real]=a;
real=(real+1)%maxsize;
}
int outque() {
if(real==head) {
System.out.println("队列为空,无法出队。");
return -999;
}
int a=data[head];
head=(head+1)%maxsize;
return a;
}
int getque() {
if(real==head) {
System.out.println("队列为空");
return -999;
}
int a=data[head];
return a;
}
void appear() {
if(head==real){
System.out.println("队列为空");
return;
}
for(int l=head;l!=real;) {
System.out.print(data[l%maxsize]+" ");
l=(l+1)%maxsize;
}
}
}
public class queue {
public static void main(String[]args) {
Scanner write=new Scanner(System.in);
int[] a= {1,2,3};
int ruler;
queuer que=new queuer(a);
System.out.println("1:入队\t2:出队\t3:显示队头元素\t4:x显示队内元素\t其他数字为退出。");
System.out.println("请输入您的操作数:");
ruler=write.nextInt();
while(true) {
if(ruler==1) {
System.out.println("请输入要入队的数:");
ruler=write.nextInt();
que.addque(ruler);
}
else if(ruler==2){
ruler=que.outque();
if(ruler!=-999)
System.out.println("出队元素为:"+ruler);
}
else if(ruler==3) {
ruler=que.getque();
if(ruler!=-999)
System.out.println("队头元素为:"+ruler);
}
else if(ruler==4) {
que.appear();
}
else
break;
System.out.println("\n请输入您的操作数:");
ruler=write.nextInt();
}
write.close();
System.out.println("Bye Bye");
}
}