//deque双端队列容器
//deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector不同的是,
//deque采用的分块线性存储结构来存储数据,每块的大小一般为512字节,成为一个deque块
//所有deque块使用一个Map块进行管理,每个Map数据项纪录各个deque块的首地址,这样一来,deque的
//头部和尾部都可插入和删除元素,而不需移动其他元素 。使用push_back()方法在尾部插入元素,会扩张队列
//而使用push_front()方法在首部插入元素和使用insert()方法在中部插入元素,只是将原位置上的元素值覆盖,不会增加新元素 #include<deque>
#include<iostream>
using namespace std;
int main()
{
//创建没有任何元素的deque对象
deque<int> d;
//创建具有n个元素的deque对象
deque<int> d1();
//创建具有n个元素的deque对象,并赋初值
deque<int> d2(,8.5);
d.push_back();
d.push_back();
d.push_back();
cout<<d[]<<" "<<d[]<<" "<<d[]<<endl;
//从头部插入元素不会增加新的元素,只将原有的元素覆盖
d.push_front();
d.push_front();
cout<<d[]<<" "<<d[]<<" "<<d[]<<endl;
//从中间插入元素,不会增加新元素,只将原有的元素覆盖
d.insert(d.begin()+,);
cout<<d[]<<" "<<d[]<<" "<<d[]<<endl;
//前向遍历
for(int i=;i<d.size();i++)
{
cout<<d[i]<<" ";
}
cout<<endl;
//以前向迭代器的方式遍历
deque<int>::iterator it;
for(it=d.begin();it!=d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
deque<int> d3;
d3.push_back();
d3.push_back();
d3.push_back();
d3.push_back();
d3.push_back();
d3.pop_front();
d3.pop_front();
deque<int>::iterator it1;
for(it1=d3.begin();it1!=d3.end();it1++)
{
cout<<*it1<<" ";
}
cout<<endl;
//从尾部删除元素
d3.pop_back();
for(it1=d3.begin();it1!=d3.end();it1++)
{
cout<<*it1<<" ";
}
cout<<endl;
d3.erase(d3.begin()+);
for(it1=d3.begin();it1!=d3.end();it1++)
{
cout<<*it1<<" ";
}
cout<<endl;
d3.clear();
cout<<d3.size()<<endl;
return ;
}

最新文章

  1. Python学习笔记1-数据类型
  2. C# java MD5加密方不一致问题
  3. 一个java实习生两周八次的面试经历
  4. fis-receiver:一行命令将项目部署到远程服务器
  5. centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记
  6. PowerDesigner 12.5 反向工程sql server
  7. SAE J1850 VPW PWM, SAE J2411 SWC, ISO 11898 CAN, SAE J1708, Chrysler CCD 接口芯片电路
  8. 【BZOJ 1594】 [Usaco2008 Jan]猜数游戏 (二分+并查集)
  9. 使用POI创建Excel文件下载
  10. Linux应用环境实战05:在Ubuntu 14.10中借用Windows的字体 (转)
  11. JavaScript之数组五大迭代方法总结
  12. DirectX11--深入理解与使用缓冲区资源
  13. jquery复制值到剪切板(clipboard.js)
  14. SpringBoot MVC 拦截器
  15. CF1060D Social Circle 排序
  16. 进程理论 阻塞非阻塞 同步异步 I/O操作
  17. Druid介绍
  18. LeetCode - Merge Two Binary Trees
  19. 2-具体学习Github---init add commit log diff
  20. 基于Map的简易记忆化缓存

热门文章

  1. [编程笔记]第二章 C语言预备知识
  2. java.util (Collection接口和Map接口)
  3. Linux Centos 迁移Mysql 数据位置
  4. CLOUD物料列表查询的一份跟踪
  5. GlusterFS卷的种类
  6. centos7优化启动项,关闭一些不必要开启的服务
  7. Military Problem CodeForces 1006E (dfs序)
  8. python命令里运行正确但是pycharm里面运行就是报错的问题
  9. python 文件下载
  10. Balanced Number HDU - 3709 数位dp