zoukankan      html  css  js  c++  java
  • 双端队列

    头尾两端都可以进行添加和删除操作。

    接口设计
    ◼ int size(); // 元素的数量
    ◼ boolean isEmpty(); // 是否为空
    ◼ void clear(); // 清空
    ◼ void enQueueRear(E element); // 从队尾入队
    ◼ E deQueueFront(); // 从队头出队
    ◼ void enQueueFront(E element); // 从队头入队
    ◼ E deQueueRear(); // 从队尾出队
    ◼ E front(); // 获取队列的头元素
    ◼ E rear(); // 获取队列的尾元素

    public class Deque<E> {
    	private List<E> list = new LinkedList<>();
    	
    	public int size() {
    		return list.size();
    	}
    
    	public boolean isEmpty() {
    		return list.isEmpty();
    	}
    	
    	public void clear() {
    		list.clear();
    	}
    
    	public void enQueueRear(E element) {
    		list.add(element);
    	}
    
    	public E deQueueFront() {
    		return list.remove(0);
    	}
    
    	public void enQueueFront(E element) {
    		list.add(0, element);
    	}
    
    	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);
    	}
    }
  • 相关阅读:
    Hibernate Validation注解列表
    Java_Shell多线程
    Lua读写文件
    shell导出和导入redis
    大文件读写
    Java_Hbase优化
    控制语句if
    字典(DICT)
    元组Tuple
    Session 会话
  • 原文地址:https://www.cnblogs.com/xiuzhublog/p/12608553.html
Copyright © 2011-2022 走看看