/*关于C++ STL中deque的学习*/
#include<cstdio>
#include<iostream>
#include<deque> using namespace std;
void print(deque<int> d);
void rprint(deque<int> d);
int main()
{
deque<int> dq;
dq.push_back();
dq.push_back();
dq.push_back();
dq.push_back();
cout<<dq.size()<<endl;
cout<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<endl; dq.push_front();
cout<<dq.size()<<endl;
cout<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<endl; dq.insert(dq.begin()+,);
cout<<dq.size()<<endl;
cout<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<endl; cout<<"##"<<endl;
print(dq);
dq.pop_front();
print(dq); print(dq);
dq.pop_back();
print(dq); print(dq);
dq.clear();
cout<<"##"<<endl;
print(dq);
cout<<"##"<<endl;
return ;
} void print(deque<int> d){
for(int i=;i<d.size();i++){
printf("%d ",d[i]);
}
puts("");
} void rprint(deque<int> d){
for(int i=d.size()-;i>=;i--){
printf("%d ",d[i]);
}
puts("");
}

deque双端队列(常用方法总结)的更多相关文章

  1. deque双端队列容器

    //deque双端队列容器 //deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector不同的是, //deque采用的分块线性存储结构来存储数据,每块的大小一般为512字节 ...

  2. deque双端队列笔记

    clear()clear()clear():清空队列 pushpushpush_back()back()back():从尾部插入一个元素. pushpushpush_front()front()fro ...

  3. Java 集合深入理解(10):Deque 双端队列

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 什么是 Deque Deque 是 Double ended queue (双端队列) 的缩写,读音和 deck 一样,蛋 ...

  4. c++ deque 双端队列

    双端队列: 函数 描述 c.assign(beg,end)c.assign(n,elem)  将[beg; end)区间中的数据赋值给c.将n个elem的拷贝赋值给c. c.at(idx)  传回索引 ...

  5. stl之deque双端队列容器

    deque与vector很相似,不仅能够在尾部插入和删除元素,还能够在头部插入和删除. 只是当考虑到容器元素的内存分配策略和操作性能时.deque相对vector较为有优势. 头文件 #include ...

  6. STL容器:deque双端队列学习

    所谓deque,是"double-ended queue"的缩写; 它是一种动态数组形式,可以向两端发展,在尾部和头部插入元素非常迅速; 在中间插入元素比较费时,因为需要移动其它元 ...

  7. 算法-deque双端队列

    Python的deque模块,它是collections库的一部分.deque实现了双端队列,意味着你可以从队列的两端加入和删除元素 1.基本介绍 # 实例化一个deque对象d = deque()d ...

  8. 括号匹配问题 —— Deque双端队列解法

    题目: 给定一个只包括 '(',')','{','}','[',']'?的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可 ...

  9. deque(双端队列)

    deque 是对queue的改进,增加了 push_front 和 pop_front 函数 , 和 双向链表作用差不多: 这里就不多讲了.可以参考: List(双向链表)

随机推荐

  1. 2.select查询用法

    1.定义查询接口 UserMapper.java package tk.mybatis.simple.mapper; import tk.mybatis.simple.model.SysRole; i ...

  2. 封装了三个对TMemoryStream操作的函数,大牛莫笑

    // TMemoryStream 转化为string字符串 function MemoryStreamToString(M: TMemoryStream): AnsiString; begin Set ...

  3. FastReport报表设计(仔细看)

    FastReport报表设计 2011-06-16 16:56:19|  分类: 系统开发|举报|字号 订阅     下载LOFTER我的照片书  |     目录 5.1 前言 5.2 基本概念及操 ...

  4. delphi 分享三个随机字符串

    uses math; function GenID:String; var b, x: byte; begin Result := '{'; Randomize; do begin ) > ,) ...

  5. Android-okhttp下载网络图片并设置壁纸

    在AndroidManifest.xml配置网络访问权限: <!-- 访问网络是危险的行为 所以需要权限 --> <uses-permission android:name=&quo ...

  6. 记录.NET Core在CentOS上基于Jenkins自动化发布

    1.安装Jenkins,我这里采用的是非docker方式安装(两种都行,任选一种) 参考:https://www.cnblogs.com/xiaxiaolu/p/10357806.html https ...

  7. C# windform 使用TreeGridView

    1 下载 treeGridView.DLL库文件. 2 添加到工程中. 右键“工具箱”选择“选择项” 弹出对话框 选择“浏览” 选中下载还的dll库文件.完成后工具箱中会有 treeGridView控 ...

  8. MVC框架json数据展示程序(第一版)

    模型原型:服务器的配置和运行状态信息. 设计要求:Json格式数据解析后,判断配置信息是否是新数据或者是否更新.如是新数据,则直接添加到数据库:若是数据更新,则更新数据库配置信息并更新运行状态信息:都 ...

  9. Linux系统软件包的管理(4)

    虽然使用源码编译安装可以具有提高速度个性化的定制等优点,但对于 Linux发行商来说,则不容易管理软件包,毕竟不是每个人都会进行源码编译的,如果能够将软件预先在相同的硬体与系统上面编译好在发布的话,不 ...

  10. Python--CSV模块

    CSV csv文件格式是一种通用的电子表格和数据库导入导出格式 简介 Python csv模块封装了常用的功能,使用的简单例子如下: 写入 # 写入csv文件 import csv csvfile = ...