//队列(数组模拟)
class Queue{
private int[] queue; //队列函数
int length;
int head; //头指针
int tail; //尾指针
int num; //丢列中元素个数
public Queue(){
}
public Queue(int s){ //构造队列函数
length=s;
queue=new int[length]; //s为队列长度
head=0;
tail=-1;
num=0;
}
public void inQueue(int e){ //入队列
if(tail+1==length){
System.out.println("溢出了,元素"+e+"没有入队列!!!");
return;
}
queue[++tail]=e;
num++;
}
public int outQueue(){ //出队列
if(head==length){
System.out.println("队列里没有元素!!!");
}
int temp=queue[head++];
num--;
return temp;
}
public int readQueue(){ //出队列(只读不操作队列)
if(head==length){
System.out.println("队列里没有元素!!!");
}
return queue[head];
}
public void isEmpty(){ //是否为空
if(num==0){
System.out.println("队列里为空!!!");
}
}
public void isFull(){ //是否满了
if(tail==length-1){
System.out.println("队列已经满了!!!");
}else{
System.out.println("队列没满!!!");
}
}
public int count(){ //队列中元素个数
return num;
}
}
class Main{
public static void main(String args[]){
Queue q=new Queue(5);q.isEmpty();
q.inQueue(2);
System.out.println("读出的队列元素是:"+q.readQueue());
System.out.println("取出的队列的头元素是:"+q.outQueue());
q.inQueue(3);
System.out.println("读出的队列元素是:"+q.readQueue());
System.out.println("取出的队列的头元素是:"+q.outQueue());
q.inQueue(4);
System.out.println("读出的队列元素是:"+q.readQueue());
System.out.println("取出的队列的头元素是:"+q.outQueue());
q.inQueue(5);q.isEmpty();
System.out.println("读出的队列元素是:"+q.readQueue());
System.out.println("取出的队列的头元素是:"+q.outQueue());
q.inQueue(6);q.isFull();
System.out.println("读出的队列元素是:"+q.readQueue());
System.out.println("取出的队列的头元素是:"+q.outQueue());
q.isEmpty();
}
}
队列(数组模拟)
最新推荐文章于 2023-05-05 20:55:02 发布