本文主要是介绍1.2.2.1 容器 Container,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 1 容器
- 2 序列式容器
- 2.1 类模板 array
- 2.1.1 内存空间固定大小
- 2.1.1.1 设置元素值
- 2.1.1.2 填充元素值
- 2.1.1.3 读取元素值
- 2.1.1.4 读取元素数量
- 2.2 类模板 deque
- 2.3 类模板 forward_list
- 2.4 类模板 list
- 2.5 类模板 vector
- 2.5.1 内存空间动态大小
- 2.1.1.1 设置元素值
- 2.1.1.2 填充元素值
- 2.1.1.3 读取元素值
- 2.1.1.4 读取元素数量
- 3 关联式容器
- 3.1 类模板 map
- 3.2 类模板 multimap
- 3.3 类模板 set
- 3.4 类模板 multiset
- 4 无序关联式容器
- 4.1 类模板 unordered_map
- 4.2 类模板 unordered_multimap
- 4.3 类模板 unordered_set
- 4.4 类模板 unordered_multiset
1 容器
类别 | 类 | 特点 |
---|---|---|
STL序列式容器 | array、vector、deque、list 、forward_list. | 不会对存储的元素进行排序,元素排列的顺序取决于存储它们的顺序. |
STL关联式容器 | map、multimap、set、 multiset | 关联式容器在存储元素时还会为每个元素在配备一个键,整体以键值对的方式存储到容器中。可以通过键值直接找到对应的元素,而无需遍历整个容器。另外,关联式容器在存储元素,默认会根据各元素键值的大小做升序排序。 |
STL无序关联式容器 | unordered_map、unordered_set、unordered_multimap、unordered_multiset | 无序关联式容器不会对存储的元素做升序排序. |
类 | 大小是否固定 | 元素存储位置 |
---|---|---|
array | 是(无法动态的扩展或收缩) | 连续 |
vector | 否(可以动态的扩展或收缩) | 连续 |
deque | ||
list | 否(可以动态的扩展或收缩) | 离散 |
forward_list | 否(可以动态的扩展或收缩) | 离散 |
2 序列式容器
2.1 类模板 array
2.1.1 内存空间固定大小
array<int, 10> scores; //定义10个整型元素的数组
2.1.1.1 设置元素值
scores.at(1) = 100; //设置元素1的值为100
2.1.1.2 填充元素值
scores.fill(100); //将数组所有元素初始化为100
2.1.1.3 读取元素值
int a = scores.at(1); //获取元素1的值
2.1.1.4 读取元素数量
int size = scores.size(); //获取元素数量
2.2 类模板 deque
2.3 类模板 forward_list
2.4 类模板 list
2.5 类模板 vector
2.5.1 内存空间动态大小
vector scores;
scores.resize(10);
2.1.1.1 设置元素值
scores.at(1) = 100; //设置元素1的值为100
2.1.1.2 填充元素值
scores.fill(100); //将所有元素初始化为100
2.1.1.3 读取元素值
int a = scores.at(1); //获取元素1的值
2.1.1.4 读取元素数量
int size = scores.size(); //获取元素数量
3 关联式容器
3.1 类模板 map
3.2 类模板 multimap
3.3 类模板 set
3.4 类模板 multiset
4 无序关联式容器
4.1 类模板 unordered_map
4.2 类模板 unordered_multimap
4.3 类模板 unordered_set
4.4 类模板 unordered_multiset
这篇关于1.2.2.1 容器 Container的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!