第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章 顺序容器的更多相关文章

  1. 《C++ Primer》笔记 第9章 顺序容器

    顺序容器类型 类型 解释 vector 可变大小数组.支持快速随机访问.在尾部之外的位置插入或删除元素可能很慢 deque 双端队列.支持快速随机访问.在头尾位置插入.删除速度很快 list 双向链表 ...

  2. 《C++ Primer 4th》读书笔记 第9章-顺序容器

    原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936460.html

  3. 《C++ Primer》笔记 第11章 关联容器

    关联容器类型 解释 按关键字有序保存元素 -- map 关联数组:保存关键字-值对 set 关键字即值,即只保存关键字的容器 multimap 关键字可重复出现的map multiset 关键字可重复 ...

  4. C++ Primer 读书笔记 第2章 变量和基本类型

    C++ Primer 第二章 变量和基本类型 2.1 基本内置类型 C++定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type),此外还定义了Void类型. 算术类型 ...

  5. 《C++ Primer 4th》读书笔记 第10章-关联容器

    原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3936464.html

  6. C++ Primer 读书笔记 第1章

    1.1 编写简单的C++程序 每个C++程序都必须包含一个main函数,因为main函数是系统执行入口,且main函数是唯一被系统显示调用的函数. 定义函数必须指定4个元素:返回类型.函数名.形参表. ...

  7. Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述

    声明:    本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...

  8. 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度

    <Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...

  9. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

随机推荐

  1. vim 多窗口编辑

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  2. PHP 生成UUID的方法

                                                    .                 .                 .                ...

  3. mvn profile 深层次目录打参数核心配置

    <build> <resources> <resource> <directory>src/main/resources</directory&g ...

  4. https配置

    总结了一下: 所谓用HTTPS的时候 app 前端要配置SSL 证书的意思就是:相当于服务器端与app 前端, 一个拿公钥,一个拿私钥.简单得说就是客户端发送请求的时候,用配置好的SSL证书里的加密方 ...

  5. iOS开发之性能优化

    1.避免过于庞大的XIB 当加载XIB的时候把所有的东西都放在了内存里,包括任何的图片:如果有一个不会即刻用到的view,就会浪费宝贵的内存资源了. 当加载一个引用了图片或者声音资源的nib时,nib ...

  6. C#4 for循环 迭代法 穷举法应用

    for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...

  7. Sql Server数据库基础

    --------------------------------------第一章  Sql Server数据库基础------------------------------------------ ...

  8. Docker终极指南:为什么Docker能做这么多事

    Docker终极指南:为什么Docker能做这么多事 http://www.aboutyun.com/thread-11499-1-1.html

  9. Javascript中undefined,NaN等特殊比较

    以下内容转自: http://blog.csdn.net/hongweigg/article/details/38090093 1.问题:在Javascript中,typeof(undefined) ...

  10. Linux--正则表达式--详解

    一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 ...