package com.coding.basic.queue; public class CircleQueue { private int size; private int real; private int front; private Object[] object; public CircleQueue(int size){ this.size=size+1; object=new Object[this.size]; this.real=0; this.front=0; } public boolean isEmpty(){ return real==front; } public int size(){ if(isEmpty()) return 0; else return real; } public Object deQueue(){ if(!isEmpty()){ Object o=object[front]; object[front]=null; front=(front+1)%size; return o; } return null; } public void enQueue(Object o){ if(!queueFull()){ object[real]=o; real=(real+1)%size; } } private boolean queueFull(){ return (real+1)%size==front; } }