日期:2014-05-20 浏览次数:20756 次
------------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