Java队列工具类(程序仅供练习)


public class QueueUtils<T> { public int defaultSize; public Object[] data; public int front = 0; // 队列中第一个对象的位置 public int count = 0; // 计数器 public int rear = 0; // 队列中当前的位置 public QueueUtils(int defaultSize) { super(); this.defaultSize = defaultSize; this.data = new Object[defaultSize]; } /** * @Description:加入队列 * @param @param t * @return boolean 返回类型 */ public boolean add(T t) { // 队列已满 if(count > 0 && front == rear) { System.out.println("队列已满!"); return false; } data[rear] = t; rear = (rear + 1) % defaultSize; count ++; return true; } public Object getFront() { if(!isFull()) { return data[front]; } else { return null; } } /** * @Description:删除队列 * @param @return * @return T 返回类型 */ public boolean remove() { if(isFull()) { System.out.println("队列为空!"); // 队列为空 return false; } Object t = data[front]; front = (front + 1) % defaultSize; count--; return true; } /** * @Description:判断队列是否已满 * @param @return * @return boolean 返回类型 */ public boolean isFull() { return count == 0; } }

  

posted @ 2016-10-19 10:52  字节  阅读(813)  评论(0编辑  收藏  举报