package com.list; //队列 public class Queue { Object [] element; private static int DEFAULT_SIZE = 10; int front;//头指针 int rear;//尾指针 public Queue(){ this(DEFAULT_SIZE); } public Queue(int size){ element = new Object[size]; this.front = 0; this.rear = 0; } public boolean enQueue(Object object){ if ((rear + 1) % element.length == front){ return false; }else{ element[rear] = object; rear = (rear + 1) % element.length; return true; } } public Object deQueue(){ if (front == rear){ return null; }else{ Object object = element[front]; front = (front + 1) % element.length; return object; } } public int size(){ return (rear -front) & (element.length - 1); } public boolean isEmpty(){ return rear == front; } }