第9章 顺序容器
9.1 顺序容器概述
- 选择容器的基本原则:
- 除非有很好的理由选择其他容器,否则应使用vector;
- 如果程序有很多小的元素,且空间的额外开销很重要,则不要使用list或forward_list;
- 如果程序要求随机访问元素,应使用vector或deque;
- 如果程序要求在容器的中间插入或删除元素,应使用list或forward_list;
- 如果程序需要在头尾位置插入或删除元素,但不会在中间位置进行插入或删除操作,则使用deque;
- 如果程序只有在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则:
a)首先,确定是否真的需要在容器中间位置添加元素。当处理输入数据时,通常可以很容易地向vector追加数据,然后在调用标准库的sort函数来重排序,从而避免在中间位置添加元素。
b)如果必须在中间位置插入元素,考虑在输入阶段使用list,一旦输入完成,将list中的内容拷贝到一个vector中。
9.2 容器库概览
9.2.4 容器定义和初始化
9.2.5 赋值和swap
- 除array外,swap不对任何元素进行拷贝、删除或插入操作,因此可以保证在常数时间内完成;
9.3 顺序容器操作
9.3.1 向顺序容器添加元素
9.3.2 访问元素
9.3.3 删除元素
9.3.4 特殊的forward_list操作
9.3.5 改变容器大小
9.5.1 构造string的其他方法
9.5.2 改变string的其他方法
9.5.3 string搜索操作
9.5.4 compare函数
9.5.5 数值转换
9.6 容器适配器
栈适配器
队列适配器
时间: 2024-10-06 18:46:22