c++中的stl中的容器
时间: 2023-06-13 12:08:18 浏览: 77
C++中的STL(Standard Template Library)是一组通用的模板类和函数,它们可用于实现许多常用的数据结构和算法,其中包括许多容器类。下面是STL中常见的容器类:
1. vector:向量容器,用于存储动态大小的元素序列,支持快速随机访问和尾部插入/删除操作。
2. list:链表容器,用于存储动态大小的元素序列,支持快速插入/删除操作,但不支持随机访问。
3. deque:双端队列容器,用于存储动态大小的元素序列,支持快速随机访问和头部/尾部插入/删除操作。
4. set/multiset:集合容器,用于存储一组不重复的元素,支持快速查找、插入和删除操作。multiset允许重复元素。
5. map/multimap:映射容器,用于存储一个键值对的集合,支持快速查找、插入和删除操作。multimap允许键重复。
6. stack:栈容器,用于存储一组元素,支持在末尾插入和删除元素,遵循先进后出(LIFO)的原则。
7. queue:队列容器,用于存储一组元素,支持在末尾插入和头部删除元素,遵循先进先出(FIFO)的原则。
8. priority_queue:优先队列容器,用于存储一组元素,支持在末尾插入和弹出元素,但弹出的元素总是具有最高优先级。
这些容器类都是模板类,因此可以存储不同类型的数据。它们提供了许多有用的成员函数和迭代器,可以方便地操作元素序列。
相关问题
c++中STL map的用法
C++中的STL中map是一种关联容器,它提供了一种键值对的映射关系。下面是两个关于C++中STL map用法的例子:
1. 插入和访问元素[^1]:
```cpp
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main() {
map<int, string> mapStudent;
mapStudent[1] = "student_one"; // 插入键值对
mapStudent[1] = "student_two"; // 更新键值对
mapStudent[2] = "student_three";
map<int, string>::iterator iter;
for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++) {
cout << iter->first << ' ' << iter->second << endl; // 访问键值对
}
}
```
2. 获取map的大小:
```cpp
#include <map>
#include <iostream>
using namespace std;
int main() {
map<int, string> mapStudent;
mapStudent[1] = "student_one";
mapStudent[2] = "student_two";
mapStudent[3] = "student_three";
cout << "Size of mapStudent: " << mapStudent.size() << endl; // 获取map的大小
}
```
C++ stl容器
STL(Standard Template Library)是C++标准库中的一个重要组成部分,提供了一系列的容器类,用于存储和操作数据。STL容器分为序列式容器(Sequence Containers)和关联式容器(Associative Containers)两大类。
序列式容器主要包括以下几种:
1. vector:动态数组,支持快速随机访问。
2. deque:双端队列,支持在两端进行插入和删除操作。
3. list:双向链表,支持在任意位置进行插入和删除操作。
4. forward_list:单向链表,与list类似,但只支持单向遍历。
5. array:固定大小的数组,大小在编译时确定。
6. string:字符串类,基于char类型的容器。
关联式容器主要包括以下几种:
1. set:集合,存储唯一元素,并按照一定顺序排序。
2. multiset:多重集合,允许存储相同元素,并按照一定顺序排序。
3. map:映射,存储键值对,并按照键的一定顺序排序。
4. multimap:多重映射,允许存储相同键的键值对,并按照键的一定顺序排序。
此外,STL还提供了一些其他的容器和适配器,如unordered_set、unordered_map、stack、queue、priority_queue等。
每种容器都提供了一系列的成员函数和迭代器,可用于插入、删除、查找等操作。STL容器是C++中常用的数据结构之一,可以大大简化程序的开发过程。