c++中map的作用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c++中map的作用
`std::map` 是 C++ 标准库中的一个关联容器,它存储的元素是键值对(key-value pair),并允许你根据键来快速查找和访问对应的值。
以下是 `std::map` 的主要特点和用途:
1.有序的键值对:`std::map` 保证其元素按照键的自然顺序(对于整数,就是从小到大)进行排序。
对于自定义的类型,则取决于提供的比较函数。
2.快速的查找:`std::map` 提供了一个 `find` 方法,可以在平均情况下 O(log n) 的时间内查找一个键值对。
3.插入和删除:你可以使用 `insert`、`emplace` 和 `erase` 方法来插入和删除键值对。
4.关联数组:你可以将 `std::map` 看作是一个特殊的数组,其索引不是整数,而是自定义的类型(作为键)。
这意味着你可以用键快速地获取和设置值。
5.排序功能:可以使用 `std::sort` 或 `std::map` 自己的成员函数 `sort` 来对整个容器进行排序。
6.使用迭代器遍历:可以使用迭代器来遍历 `std::map` 中的所有元素。
7.关联函数的查找:除了基于键的查找外,还可以使用关联函数(如 `lower_bound` 和 `upper_bound`)来查找与给定键最接近的元素。
8.关联容器的特性:`std::map` 是一个关联容器,这意味着它提供了关联容器的所有通用操作,如 `count`、`find`、`lower_bound` 等。
使用 `std::map` 的一个简单示例:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> m;
m[1] = "one";
m[2] = "two";
m[3] = "three";
for (const auto& kv : m) {
std::cout << kv.first << " -> " << kv.second << "\n";
}
return 0;
}
```
输出:
```yaml
1 -> one
2 -> two
3 -> three ```。