基础数组实现队列
队列的特点是先进先出。
一、实现数组
在另一篇文章 基础数组实现栈 中已经写到,不再赘述。
二、队列的接口
要实现队列,就要实现队列的一些方法。包括入队、出队、得到队首元素等
public interface ABCQueue<E> {
//入队
void enqueue(E e);
//出队
E dequeue();
//查看队首元素
E getFront();
//是否为空
boolean isEmpty();
//元素数量
int getSize();
}
三、实现该接口
public class ArrayQueue<E> implements ABCQueue<E> {
private Array<E> arr;
public ArrayQueue(int capacity) {
arr=new Array<>(capacity);
}
public ArrayQueue() {
arr=new Array<>();
}
@Override
public void enqueue(E e) {
arr.addLast(e);
}
@Override
public E dequeue() {
return arr.removeFirst();
}
@Override
public E getFront() {
return arr.get(0);
}
@Override
public boolean isEmpty() {
return arr.isEmpty();
}
@Override
public int getSize() {
return arr.getSize();
}
public int getCapacity(){
return arr.getCapacity();
}
@Override
public String toString() {
return "ArrayQueue{} 出队 "+arr+" 入队";
}
}