package com.coding.basic;
import java.util.ArrayList;
public class Queue<E> {
E[] element;
//Ϊ�˲��Է�����ʱ����������Ϊ5
private static final int DEFAULT_SIZE=5;
int front,rear;//�ֱ�Ϊ���Ͷ�β�±�
public Queue() {
this(DEFAULT_SIZE);
}
public Queue(int size) {
element = (E[])(new Object[size]);
front = 0;
rear = 0;
}
public void enQueue(E e){
if(((rear+1)%element.length) == front) {
System.out.println("�������������");
} else {
element[rear] = e;
rear=(rear+1)%element.length;
}
}
public E deQueue(){
if(rear == front) {
return null;
} else {
E e = element[front];
front = (front + 1)%element.length;
return e;
}
}
public boolean isEmpty(){
return rear == front;
}
public int size(){
if(rear > front){
return rear-front;
} else {
return (element.length+1)-(front-rear);
}
}
}