日期:2014-05-20 浏览次数:21016 次
------------QueuInterface.java-----------
package com.Queue;//队列接口
//
interface QueueInterface {
public boolean isEmpty();//是否为空
public void addTail(String name,int number);//从尾部添加
public Man removeHead();//从头部移除
public void show();//显示每个队列元素
}
----------------Man.java-----------------
package com.Queue;//队列元素
public class Man {
private String name;
private int number;
public Man(String name)
{ setName(name); }
public Man(int number)
{ setNumber(number); }
public Man(String name, int number)
{
setName(name);
setNumber(number);
}
public void setName(String name)
{ this.name=name; }
public void setNumber(int number)
{ this.number=number; }
public String getName()
{ return name; }
public int getNumber()
{ return number; }
}
-----------QueueClass.java-----------------
package com.Queue;//队列
//
public class QueueClass implements QueueInterface
{
private int head;
private int tail;
private Man queue[];
public QueueClass()//初始化只能容纳4个元素
{
head=tail=0;
queue=new Man[4];
}
public boolean isEmpty()//判断是否为空
{
return (head==tail)?true:false;
}
public void addTail(String name,int number)//从尾部添加
{
if((tail+1)%queue.length==head)
System.out.println("队列满了 "+name+" "+number+"无法加入");
else
queue[(tail+1)%queue.length]=new Man(name,number);
}
public Man removeHead()//从头部删除
{
if(isEmpty())
{
System.out.println("队列是空的");
return new Man("");
}
else
{
head=(head+1)%queue.length;
return queue[head];
}
}
public void show()//显示队列元素
{
int p=head;
System.out.println("显示队列");
while(p!=tail)
{
p=(p+1)%queue.length;
System.out.println(queue[p].getName()+":"+queue[p].getNumber());
}
System.out.println();
}
}
---------------MyQueue.java---------------
package com.Queue;
public class MyQueue {
public static void main(String[] args)
{
QueueClass q=new QueueClass();
q.addTail("haha", 0001);
q.addTail("haha", 0002);
q.addTail("haha", 0003);
q.addTail("haha", 0004);
q.addTail("haha", 0005);//初始化队列只能容纳4个元素,这里不是应该报队列已满,但在这里没有显示
while(!q.isEmpty())
{
q.show();
System.out.println("移出"+q.removeHead().getName());
}
}
}
队列满了 haha 5无法加入
显示队列
haha:1
haha:2
haha:3
haha:4
移出1
显示队列
haha:2
haha:3
haha:4
移出2
显示队列
haha:3
haha:4
移出3
显示队列
haha:4
移出4