//队列(数组模拟) 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(); } }
原文地址:http://blog.csdn.net/xionghui2013/article/details/45103287