#include <iostream>
#include <string>
#include <deque> // https://zh.cppreference.com/w/cpp/container/deque // vector 和 deque 的差别
// https://www.cnblogs.com/zhuyf87/archive/2012/12/09/2809896.html using namespace std; int main()
{
int a[] = { 1,2,3 };
deque<int> deq = {1,2,3}; ////////////////////////////////////////////////////////////////////////// deq.assign(4, 5); // 5 5 5 5 deque<int> deq1 = deq; // deep copy
deq1[0] = 10;
deq1.at(0) = 25;
int vhead = deq1.front();
int vtail = deq1.back(); //////////////////////////////////////////////////////////////////////////
// 迭代器 for (auto it = deq1.begin(); it != deq1.end(); ++it)
{
std::cout << *it << " ";
}
std::cout << std::endl; // 25 2 3 for (auto it = deq1.cbegin(); it != deq1.cend(); ++it)
{
std::cout << *it << " ";
}
std::cout << std::endl; // 25 2 3 for (auto it = deq1.rbegin(); it != deq1.rend(); ++it)
{
std::cout << *it << " ";
}
std::cout << std::endl; // 3 2 25 ////////////////////////////////////////////////////////////////////////// bool isEmpty = deq1.empty();
size_t size = deq1.size();
size_t mSzie = deq1.max_size(); deq1.clear();
deq1.shrink_to_fit(); deq1.insert(deq1.begin(), 6);
deq1.emplace(deq1.begin(), 7); deq1.insert(deq1.begin(), 2, 55); deque<int> deqtt = {11,22,33};
deq1.insert(deq1.begin(), deqtt.begin(), deqtt.end()); // 11 22 33 55 55 7 6 deq1.insert(deq1.begin(), {999, 888}); // 999 888 11 22 33 55 55 7 6 deq1.push_back(88);
deq1.emplace_back(99); deq1.push_front(100);
deq1.emplace_front(110); deq1.erase(deq1.begin());
deq1.erase(deq1.begin(), deq1.end()); deq1.swap(deqtt); // 交换的 size 大小不必一样 //////////////////////////////////////////////////////////////////////////
// resize 以及初始化值什么时候起作用 deq1.clear();
deq1.resize(2); // 0 0
deq1.resize(2, 4); // 0 0 其中的 4 还不起作用。 deq1.clear();
deq1.resize(2, 4); // 4 4
deq1.resize(2); // 4 4 没有改变 size,见下面的说明 deq1.clear();
deq1.resize(2); // 0 0
deq1.resize(3, 4); // 0 0 4 当 size 要改变时,4 时新值的初始值!原来的空间时不会删除的,也不改变。 deq1.clear();
deq1.resize(2, 4); // 4 4
deq1.resize(3); // 4 4 0 默认的 int 初始值为 0 return 0;
}

  

最新文章

  1. ImFire即时通讯系统构建(前言)
  2. Mac的最小化和隐藏的区别
  3. 【Django】Django web项目部署(Nginx+uwsgi)
  4. josephus Problem 中级(使用数组模拟链表,提升效率)
  5. COURSES(poj 1469)
  6. Android--监听ListView滚动到最底部
  7. Android按键事件传递流程(二)
  8. BOM 和 JavaScript 中的 trim
  9. 嵌入式Linux-objdump命令的使用
  10. jquery中的属性和css
  11. Python爬虫框架Scrapy安装使用步骤
  12. 【Android 系统开发】下载 编译 Android源代码 和 Android kernel源代码
  13. .net core 使用IIS作为宿主Web服务器,部署常见问题
  14. idea编译错误提示编译版本不对,需要注意的配置
  15. 配置STP、RSTP以及负载均衡
  16. Docker的安装与使用介绍
  17. 自己实现strchr函数与strstr函数
  18. Segments
  19. Erlang/OTP:基于Behaviour的回调函数
  20. 【LOJ】#2061. 「HAOI2016」放棋子

热门文章

  1. 使用最新AndroidStudio编写Android编程权威指南(第3版)中的代码会遇到的一些问题
  2. 有趣的动态规划(golang版本)
  3. mysql 忘记登录密码(修改root密码)
  4. 三菱PLC和卓岚串口服务器使用心得
  5. luogu P1908 逆序对 |树状数组
  6. HTML &lt;input&gt; placeholder 属性
  7. Python元组tuple(不可变)
  8. 第七章 jQuery中的事件与动画
  9. GIS学习汇总
  10. python爬虫学习---爬取微软必应翻译(中英互译)