package dataStructure_8_Queue; public class CircleQueue <E>{ private final static int DEFAULT_SIZE = 5; // ������������ѭ�����е�Ԫ�� private Object [] elementData = new Object[DEFAULT_SIZE]; // ��ͷ private int front = 0; // ��β private int rear = 0; public Object getElementData(int index){ return elementData[index]; } public boolean isEmpty(){ return front==rear; } public int size(){ return rear-front; } public void enQueue(E data){ if((rear+1)%DEFAULT_SIZE == front){ return; }else{ rear = (++rear)%DEFAULT_SIZE; elementData[rear] = data; } } public E deQueue(){ front = (++front)%DEFAULT_SIZE; return (E) elementData[front]; } }