队列先进先出。
import java.util.Arrays;
public class EFanXingQueue<E> {
public Object[] data;
public int size = 0;
private int f = 0;
private int r = 0;
/**
* @param i
* 入队列
*/
public void push(E i){
data[f%data.length] = i;
f++;
//扩容
if (f-r == data.length){
data = Arrays.copyOf(data,data.length * 2);
}
}
public EFanXingQueue(int length){
this.data = new Object[length];
}
public EFanXingQueue(){
this.data = new Object[10];
}
/**
* @return
* 出队列
*/
public E pop(){
if (r == f){
throw new RuntimeException("队列为空");
}
E old = (E)data[r%data.length];
r++;
return old;
}
}