入队
public int getCapacity(){
return data.length - 1;
}
@Override
public void enqueue(E e){ //循环队列入队 传入E类型的元素e
if((tail + 1) % data.length == front) //判断下一个tail的值(tail的向后移一位)是
否等于front,如果等于,说明此时队列已满
resize(getCapacity() * 2); //扩容,动态数组中讲到 用getCapacity而不用
data.length,是因为队列可以盛放的元素与
data.length存在1的差距,在循环队列中,我们
有意识的浪费了一个。
data[tail] = e;
tail = (tail + 1) % data.length;
size ++;
}
private void resize(int newCapacity){
E[] newData = (E[])new Object[n