java实现双向队列
/**
* @author zx_jiao
* @create 05-23 21:54
* 实现双向队列
*/
public class Deque<E> {
//使用双向链表构建队列时间复杂度比较低
private LinkedList<E> list = new LinkedList<>();
//获取长度
public int size() {
return list.size();
}
//判断队列是否为空
public boolean isEmpty() {
return list.isEmpty();
}
//从队头入队
public void enQueueFront(E element) {
list.add(0,element);
}
//从队尾入队
public void enQueueRear(E element) {
list.add(element);
}
//从队头出队
public E deQueueFront() {
return list.remove(0);
}
//从队尾出队
public E deQueueRear() {
return list.remove(list.size() - 1);
}
//获取头部元素
public E front() {
return list.get(0);
}
//获取尾部元素
public E rear() {
return list.get(list.size() - 1);
}
}