《C++ Primer》读书笔记-第九章 01 顺序容器
2016-12-10 16:49
405 查看
作者:马志峰
链接:https://zhuanlan.zhihu.com/p/24262745
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原书有更加详细、精彩的释义,请大家购买正版书籍进行学习。
本文仅作学习交流使用,禁止任何形式的转载
所有容器都适用的操作
顺序容器适用的操作
vector内存
string操作
适配器
提供了快速顺序访问元素的能力
vector,string 快速随机访问,尾部增删快
deque 快速随机访问,头尾增删快
array 快速随机访问,不能增删
list 只支持双向顺序访问,任何位置增删都快
forward_list 只支持单向顺序访问,任何位置增删都快
string和vector将元素保存在连续的内存空间中,所以由下标计算其地址是非常快速的;这也就造成了如果要在中间位置增删元素,其后的所有元素都要移动
list和forward_list解决了在中间位置增删的问题,但是不支持随机访问,只能遍历整个窗口来访问某一个元素,且空间开销大
array是新c++标准增加的数组类型,是一种更安全更易使用的数组类型
通常情况下,我们可以根据各个容器的特点以及我们的实际需要来确定使用哪种容器
一个特殊的情况是:如果程序只有在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则
确定是否可以使用vector以及sort函数来避免在中间位置插入元素
如果必须在中间位置插入元素,考虑在输入阶段使用list,一旦输入完成,将list中的内容拷贝到一个vector中使用
如果既需要在中间位置插入元素,又需要随机访问,则需要考虑是以空间换时间,还是以时间换空间。根据实际场景确定是使用list(forward_list)或vecotr(deque)
链接:https://zhuanlan.zhihu.com/p/24262745
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
声明:
文中内容收集整理自《C++ Primer 中文版 (第5版)》,版权归原书所有。原书有更加详细、精彩的释义,请大家购买正版书籍进行学习。
本文仅作学习交流使用,禁止任何形式的转载
正文
本章内容
概述所有容器都适用的操作
顺序容器适用的操作
vector内存
string操作
适配器
顺序容器
元素的存储和访问依赖于元素加入容器时的位置提供了快速顺序访问元素的能力
vector,string 快速随机访问,尾部增删快
deque 快速随机访问,头尾增删快
array 快速随机访问,不能增删
list 只支持双向顺序访问,任何位置增删都快
forward_list 只支持单向顺序访问,任何位置增删都快
string和vector将元素保存在连续的内存空间中,所以由下标计算其地址是非常快速的;这也就造成了如果要在中间位置增删元素,其后的所有元素都要移动
list和forward_list解决了在中间位置增删的问题,但是不支持随机访问,只能遍历整个窗口来访问某一个元素,且空间开销大
array是新c++标准增加的数组类型,是一种更安全更易使用的数组类型
如何确定使用哪种容器
尽量使用vecotr,除非有更好的选择通常情况下,我们可以根据各个容器的特点以及我们的实际需要来确定使用哪种容器
一个特殊的情况是:如果程序只有在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则
确定是否可以使用vector以及sort函数来避免在中间位置插入元素
如果必须在中间位置插入元素,考虑在输入阶段使用list,一旦输入完成,将list中的内容拷贝到一个vector中使用
如果既需要在中间位置插入元素,又需要随机访问,则需要考虑是以空间换时间,还是以时间换空间。根据实际场景确定是使用list(forward_list)或vecotr(deque)
相关文章推荐
- 《C++ Primer》读书笔记-第九章 03 顺序容器操作
- 读书笔记《C++ Primer》第五版——第九章 顺序容器
- C++ primer 读书笔记 第九章 顺序容器
- 《C++ Primer》读书笔记第九章-1- 顺序容器概述 And 容器库概览
- 《C++ Primer》读书笔记——第九章_顺序容器
- 《C++ Primer》读书笔记第九章-2-顺序容器操作 And vector增长问题
- c++ primer 读书笔记 第九章 顺序容器有那些 vector list deque stack queue priority-queue
- 第九章-顺序容器----重学C++之《 C++ PRIMER》
- c++ primer(第五版)笔记 第九章 顺序容器(4)
- 《C++ Primer》读书笔记-第九章 06 容器适配器
- C++ Primer : 第九章 : 顺序容器的定义、迭代器以及赋值与swap
- c++ primer(第五版)笔记 第九章 顺序容器(3)
- 【C++ Primer】【学习笔记】【第九章】顺序容器之:顺序容器的定义
- 《C++ Primer》第九章 顺序容器
- 读书笔记:C++ primer 5th edition--chapter9.顺序容器
- C++ Primer 第九章顺序容器
- 《C++ Primer 4th》读书笔记 第9章-顺序容器
- C++ primer 读书笔记系列——(6)顺序容器(二)
- 顺序容器 - 3【C++ Primer 学习笔记 - 第九章】
- C++ Primer复习和学习笔记 第九章 顺序容器