/** * @author chk */ public class CircleQueue{ private int size; private int first; private int last; Object[] queue; public CircleQueue(int size){ queue = new Object[size]; first = 0; last = 0; } public boolean isEmpty(){ return first == last; } public void enCircleQueue(Object o){ if( (last+1) % size == first){ System.out.println("Circle Queue is full"); }else { queue[last] = o; last = (last+1) % queue.length; } } public int getSize(){ return (last - first + queue.length) % queue.length; } public Object deCircleQueue(){ if(isEmpty()){ return null; }else{ Object item = queue[first]; first = (first+1)%queue.length; return item; } } }