使用数组方式创建一个队列,该队列有:
- enqueue() 该方法在队列末尾添加元素 O(1)
- dequeue() 从队列开头移出一项 O(1)
- peek()得到队列第一项,但不删除 O(1)
- isEmpty()
- isFull
准备工作
创建两个指针用来标记下标位置,一个为front,一个为rear,当添加元素时,指针rear后移一位,由于要提高内存效率,于是产生了循环队列,rear并不是一味的自增,而是通过 (rear+1)%数组长度 的关系循环索引。
int[] item;
int count;
int rear;
int front;
public ArrayQueue(int length){
item = new int[length];
}
- enqueue
public void enqueue(int input){
if(isFull())
throw new IllegalStateException