容器:可容纳各种数据类型的数据结构。
迭代器:可依次存取容器中元素的东西。
算法:用来操作容器中的元素的函数模板。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象。
对数据结构的理解非常重要,博主从网上收集一些感觉有用的c++容器资料(对我而言)汇集在一起
在容器里面主要有如下三大类:
1) 顺序容器
vector:后部插入/删除,直接访问,实际上就是个动态数组。随机存取任何元素都能在常数时间完成,在尾端增删元素具有较佳的性能。使用时需包含头文件头文件。
deque:前/后部插入/删除,直接访问,相当于动态数组,随机存取任何元素都能在常数时间完成(但性能次于vector),在两端增删元素具有较佳的性能,在使用时需包含头文件。
list:双向链表,任意位置插入/删除,在任何位置增删元素都能在常数时间完成。不支持随机存取,使用时需包含头文件。
2)关联容器
set:快速查找,无重复元素,使用时包含头文件。
multiset:快速查找,可有重复元素,使用时包含头文件。
map:一对一映射,无重复元素,基于关键字查找,使用时包含

本文深入探讨C++ STL中的顺序容器,包括vector、deque和list。vector适合随机访问,但在中间插入删除效率较低;deque支持两端高效操作,但内存非连续;list则擅长任意位置的插入删除,但不支持随机访问。理解这些容器的特性有助于在实际编程中做出合适的选择。
分析&spm=1001.2101.3001.5002&articleId=62233400&d=1&t=3&u=596c7998fbde4ed49a265c788bf93908)
453

被折叠的 条评论
为什么被折叠?



