package com.coding.basic;
import org.junit.Test;
public class Queue {
private Object[] objArray;
private int front=0;//队列头指针
private int rear=-1;//队列尾指针
private int maxSize;//队列最大长度
private int size=0;//队列长度
public Queue(int maxSize){
this.maxSize = maxSize;
this.objArray= new Object[maxSize];
}
public Queue(){}
public void enQueue(Object obj){
if (rear == maxSize-1)
rear = -1;
objArray[++rear] = obj;
size++;
}
public Object deQueue(){
if (front == maxSize)
front = 0;
size--;
return objArray[front++];
}
public boolean isEmpty(){
return size()==0;
}
public int size(){
return size;
}
@Test
public void test(){
//单元测试时,需要注释掉带参数构造函数
Queue queue = new Queue();
queue.enQueue("lisi");
queue.enQueue("zhangsan");
queue.enQueue("wangwu");
queue.enQueue("zhaoliu");
for (int i=0;i<4;i++) {
String name = (String)queue.deQueue();
System.out.println(name);
}
}
}