顺序容器的种类有:vector,list、deque

顺序容器适配器:

stack     //先进后出   栈

queue   //先进先出   队列

priority_queue   //也优先管理级的优先队列

1.头文件

#include <vector>
#include <list>
#include <deque> //每一种头文件对应一种顺序容器
#include <queue> //队列 优先队列的头文件
#include <stack> //栈的头文件

2.定义

    vector<int>v;
list<string> l;
deque<struct Node>dq;
//容器类型<容器保存的数据类型>容器名称;

3.初始化   (以vector类型为例)

    vector<T>v1;      //创建一个空的容器
vector<T>v2(n,i); //创建一个vector容器 其中包括n个值为i的元素
vector<T>v3(v2); //创建一个v3 是v2的副本
vector<T>v4(n); //创建一个有初始化的元素的n个副本
vector<T>v5(v2.begin(),v2.end()-); //创建v5 值为索引的中间值

注意:在初始化时,不同类型的容器之间   不能进行值的初始化

注意容器的定义时   有一种特殊情况    看下面的代码“

     vector< vector<int> >v3;   //ok
vector<vector<int> >v4; //ok
vector<vector<int>>v5; //error

我们在写的时候    建议使用第一种写法   养成一个好的习惯

其实这第三种定义之所以不行   是因为它俩个>符号写在了一起   就会合成一个>>符号

4.迭代器的运算

所有迭代器都支持的运算

     *iter      //返回迭代器所指向的元素的引用
iter->name //获取迭代器指向元素中的name 容器中保持的是结构体 相等于(*iter).name.
iter++(--) //iter 加减
++(--)iter //和上面一样 只存在先加减和先运算的不同
iter1==(!=)iter2 //判断俩个迭代器所指 的元素是同一个

以下表图为string   vector   deque 类型迭代器支持的额外运算

注意:list容器只提供   上面所有迭代器都提供的运算    不能使用加减法与大小比较   (加减不同于自增自减)

最新文章

  1. webstorm ES6 转 ES5
  2. 16-阿里-intership
  3. 什么是OAuth授权?
  4. Linux 2.6 源码学习-内存管理-buddy算法
  5. android-exploitme(二):安装apk熟悉测试环境
  6. 开机自动播放音乐的vbs
  7. varchar 保存英文中文区别。
  8. 配置处理结果result
  9. T-SQL存储过程
  10. C++中的类继承(4)继承种类之单继承&amp;多继承&amp;菱形继承
  11. 乘法表(24.9.2017) (WARNING!!!!!!!!!!!)
  12. HttpServletRequest获取URL?后面的内容
  13. IE7下使用兼容Icon-Font CSS类
  14. java web(二): servlet的简单使用和介绍
  15. linux历史命令查找快捷方式
  16. 【Linux】排序命令sort
  17. MySQL基本操作命令
  18. IDEA下使用Maven的test命令乱码
  19. gl 绘制多边形的函数解析 分类: OpenGL(转)
  20. IntelliJ IDEA的安装和使用教程

热门文章

  1. P1041 传染病控制——暴力遍历所有相同深度的节点
  2. TCP协议怎么工作的?
  3. phpstrom php出现404
  4. 小程序中怎么引入wepy.js第三方toast组件
  5. Tuxedo 介绍
  6. vue+elementui搭建后台管理界面(4使用font-awesome)
  7. python 图形
  8. css 文本省略号显示
  9. m.baidu.com/?tn=simple 开始有广告了。。。
  10. 使用Git GUI,上传项目到github,并实现预览功能