C++ Primer 读书笔记: 第9章 顺序容器
第9章 顺序容器
引:
顺序容器:
vector 支持快速随机访问
list 支持快速插入/删除
deque 双端队列
顺序容器适配器:
stack 后进先出栈
queue 先进先出队列
priority_queue 有优先级管理的队列
1. 容器元素的初始化
C<T> c; //empty
C c(c2); //副本
C c(b, e); //迭代器
C c(n, t); //n个相同元素
// 以下只适用于顺序容器
C c(n);
2. 容器内元素的类型约束
(1)元素必须支持赋值运算
(2)元素类型的对象必须可以复制
3. 迭代器和迭代器的范围
(1)list容器的迭代器不支持算术运算,也不支持关系运算,它只提供前置和后置的自增、自减运算以及相等(不等)运算
(2)迭代器的范围:由begin和end表示的做闭合区间[begin, end)
(3)在顺序容器中添加元素:push_back,push_front,insert
(4)在容器中的插入,删除操作会使end()迭代器失效!!
(5)关系操作符,顺序容器可以比较大小
(6)访问元素,front(),back(),返回的是引用(这是跟begin()和end()的区别)
(7)删除元素,pop_back(),pop_front(),erase(),clear()
(8)赋值,swap(),assign(),=.
4.vector容器的子增长
可以通过capacity和size成员函数来进行查看比较
5.容器的选用。
选用容器跟选择数据结构是一样的道理
6.string,
提供了比容器更多的方法,来对string做特有的一些操作,例如查找,substr等
7.适配器,
包括stack,queue,priority_queue
C++ Primer 读书笔记: 第9章 顺序容器的更多相关文章
- 《C++ Primer》笔记 第9章 顺序容器
顺序容器类型 类型 解释 vector 可变大小数组.支持快速随机访问.在尾部之外的位置插入或删除元素可能很慢 deque 双端队列.支持快速随机访问.在头尾位置插入.删除速度很快 list 双向链表 ...
- 《C++ Primer 4th》读书笔记 第9章-顺序容器
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936460.html
- 《C++ Primer》笔记 第11章 关联容器
关联容器类型 解释 按关键字有序保存元素 -- map 关联数组:保存关键字-值对 set 关键字即值,即只保存关键字的容器 multimap 关键字可重复出现的map multiset 关键字可重复 ...
- C++ Primer 读书笔记 第2章 变量和基本类型
C++ Primer 第二章 变量和基本类型 2.1 基本内置类型 C++定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type),此外还定义了Void类型. 算术类型 ...
- 《C++ Primer 4th》读书笔记 第10章-关联容器
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936464.html
- C++ Primer 读书笔记 第1章
1.1 编写简单的C++程序 每个C++程序都必须包含一个main函数,因为main函数是系统执行入口,且main函数是唯一被系统显示调用的函数. 定义函数必须指定4个元素:返回类型.函数名.形参表. ...
- Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述
声明: 本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...
- 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度
<Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...
- 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度
20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...
随机推荐
- paip.oracle query export to insert sql
paip.oracle query export to insert sql 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:/ ...
- 好用的DNS服务器推荐
DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢.弹窗广告.网址打不开.打开不是自己想要的网站.淘宝客劫持等一系列问题.针对DNS的问题,网络上也有各种DNS平台供用户选择.这里 ...
- Open Replicator
Open Replicator ( http://code.google.com/p/open-replicator/ ) 开源了.Open Replicator是一个用Java编写的MySQL bi ...
- UVA 1614 - Hell on the Markets
题意: 输入n个数,第i个数ai满足1≤ai≤i.对每个数添加符号,使和值为0. 分析: 排序后从最大的元素(假设为k)开始,凑出sum/2即可.用去掉了k的集合,一定可以凑出sum/2 - a[k] ...
- HTML1网页三部份内容
网页三部份内容:HTML CSS Javascript 路径:一般做网页的时候用的相对路径. images/aaa.jpg 网页同一个目录中找images文件夹,再在images里面找aaa.jpg ...
- CentOS 6 安装 python and pip
yum update yum list python* //查看可安装python包 yum install python34.i686_64 wget https://bootstrap.p ...
- mysql主从同步从库同步报错
1.在从库上设置master_info信息时出错 mysql> change master to master_host='192.168.157.143',master_port=3306,m ...
- Hive进阶(下)
Hive进阶(下) Hive进阶(下) Hive的表连接 等值连接 查询员工信息:员工号.姓名.月薪.部门名称 1.select e.empno,e.ename,e.sal,d.dname2.from ...
- Binder的使用(跨进程——AIDL,非跨进程)
一.Binder类 1.作用:Binder是客户端与服务器端的通信的媒介(连接各种Manager的桥梁),客户端通过Binder对象获取服务器端提供的数据 (为什么要用Binder来提供数据呢,服务器 ...
- Springmvc加载静态文件和开启EL表达式的支持
一.静态文件加载问题 刚开始学习SpringMVC,发现静态文件无法加载 web.xml配置如下: <web-app id="WebApp_ID" version=" ...