java实现双向队列

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);
    }
}

版权声明:本文为john_jzx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。