deque:双端队列

  比较常用的函数:

  que.back() 返回容器que的最后一个元素的引用。如果que为空,则该操作未定义。

  que.begin() 传回迭代器中的第一个数据地址。

  que.clear() 移除容器中所有数据。

       que.empty() 判断容器是否为空。

       que.end() 返回一个迭代器,它指向容器que的最后一个元素的下一位置。

   que.front() 返回容器que的第一个元素的引用。如果que为空,则该操作为空。

       que.pop_back() 删除最后一个数据。

       que.pop_front() 删除头部数据。

  que.push_back(elem) 在尾部加入一个数据。

  que.push_front(elem) 在头部插入一个数据。

  que.size() 返回容器中实际数据的个数。

  不是很常用的函数:

    que.assign(beg,end) 将[beg; end)区间中的数据赋值给que。

  que.assign(n,elem) 将n个elem的拷贝赋值给que。

  que. at(idx) 传回索引idx所指的数据,如果idx越界,抛出out_of_range。

    que.erase(pos) 删除pos位置的数据,传回下一个数据的位置。

  que.erase(beg,end) 删除[beg,end)区间的数据,传回下一个数据的位置。

  que.max_size() 返回容器que可容纳的最多元素个数。

       que.insert(pos,elem) 在pos位置插入一个elem拷贝,传回新数据位置

  que.insert(pos,n,elem) 在pos(迭代器)位置插入>n个elem数据。无返回值

       que.insert(pos,beg,end) 在pos位置插入在[beg,end)区间的数据。无返回值

  que.rbegin() 返回一个逆序迭代器,它指向容器que的最后一个元素。

   que.rend() 返回一个逆序迭代器,它指向容器que的第一个元素的前一个位置。

  que.resize(num) 重新指定队列的长度。

   que.swap(que2) 交换容器que和que2中的所有元素。

       swap(que1,que2) 交换容器que1和que2中的所有元素。

用途:维护区间最大最小值(O(n))

deque!的更多相关文章

  1. c++容器(vector、list、deque)

    vector ,deque 和 list 顺序性容器: 向量 vector :   是一个线性顺序结构.相当于数组,但其大小可以不预先指定,并且自动扩展.它可以像数组一样被操作,由于它的特性我们完全可 ...

  2. java三篇博客转载 详解-vector,stack,queue,deque

    博客一:转载自http://shmilyaw-hotmail-com.iteye.com/blog/1825171 java stack的详细实现分析 简介 我们最常用的数据结构之一大概就是stack ...

  3. deque 居然已经实现了 insert 接口

    最近有个开发需求,根据server传递来的广告位来展示某条广告. 但最终存储广告的数据结构是deque,里面存储的东西还是对象(stl 基于拷贝语义). 想了半天,在开头和结尾插入比较方便,在中间插入 ...

  4. HDU-4604 Deque DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4604 因为deque最后的数列是单调不降的,因此,我们可以枚举数列中的某个中间数Ai,如果从中间数Ai ...

  5. vector,list,deque容器的迭代器简单介绍

    我们知道标准库中的容器有vector,list和deque.另外还有slist,只不过它不是标准容器.而谈到容器,我们不得不知道进行容器一切操作的利器---迭代器.而在了解迭代器之前,我们得先知道每个 ...

  6. STL之deque双向队列

    deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,提供随机访问,deque在接口上和vector非常相似,下面列出deque的常用成员函数: Table 6.9. C ...

  7. deque双向队列(转)

    deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数:   deque的实现比较复杂,内部会维 ...

  8. STL deque详解

    英文原文:http://www.codeproject.com/Articles/5425/An-In-Depth-Study-of-the-STL-Deque-Container 绪言 这篇文章深入 ...

  9. STL顺序容器【vector】【deque】【list】

    我们都知道,stl在集装箱船分为两类,订购集装箱和相关的容器. 顺序容器有三种即动态数组vector,双端队列deque,以及链表list (对csdn的文字排版严重吐槽.写好的版发表了就变了) 一: ...

随机推荐

  1. 小鸡G4工程款 上手体验

    前言:之前只是抱着试一试的态度在小鸡活动贴下报名,说实话之前并没有抱希望能够没选中.所以非常感谢小鸡团队给我的这次机会.这应该是我第一次参与厂家的内测活动.希望能给小鸡团队,给广大玩家带来一片实用的上 ...

  2. windows:nginx配置http、https反向代理

    一.下载 Windows 版本的 nginx nnginx下载:http://nginx.org/en/download.html 推荐稳定版本.下载完成后,解压得到 nginx-1.14.0 ,我把 ...

  3. vmware查看HBA卡、网卡驱动、firmware版本信息

    在 ESXi 5.x 中,swfw.sh 命令随 vm-support 支持包收集工具一起提供.swfw.sh 命令可用来识别连接到主机的硬件的固件和驱动程序版本.要运行此命令,请使用该路径: # / ...

  4. UNIX日期与时间

    日期和时间 UINX系统内部有一个变量记录自开机以来经过的时间.从用户的角度,UNIX时间函数分为3类: 度量进程已使用CPU时间的函数: 给出绝对时间或日历时间的函数: 设置闹钟.定时器以及睡眠的函 ...

  5. [BZOJ 5252][LOJ 2478][九省联考2018] 林克卡特树

    [BZOJ 5252][LOJ 2478][九省联考2018] 林克卡特树 题意 给定一个 \(n\) 个点边带权的无根树, 要求切断其中恰好 \(k\) 条边再连 \(k\) 条边权为 \(0\) ...

  6. if 的一切

    第一种语法: if 条件: # @引号是为了把条件和结果分开. 结果1 # 一个Tab或者4个空格 @告诉程序满足上面的if条件才会执行结果1结果2 如果条件为真(True),执行结果1,然后执行结果 ...

  7. java内部类案例

    实现键值对的存储输出 import java.util.Arrays; public class EntryDemoTest { //实现键值对的存储 public static void main( ...

  8. Centos7.3 坑爹网络配置

    1.目的: 我想在Vmvare配置成NAT模式的上网,因为这个模式宿主机可以访问虚拟机,虚拟机也可以访问宿主机,但仅主机模式只能是宿主机能访问虚拟机,但虚拟机不能访问宿主机.所以我为了能在虚拟机里面上 ...

  9. JavaScript的DOM操作获取元素的大小

    通过 style 内联获取元素的大小 需要注意的是style 获取只能获取到行内 style 属性的 CSS 样式中的宽和高,如果有获取:如果没有则返回空. <!DOCTYPE html> ...

  10. Jupyter Notebook的使用

    命令模式 (按键 Esc 开启) Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在其下插 ...