c++中unordered_map的使用
时间: 2023-02-22 07:54:11 浏览: 160
C++11 unordered_map与map(插入,遍历,Find)效率对比。
unordered_map 是 C++ 中 STL 的一种数据结构,它实现了一种无序映射关系,即可以通过键(key)来查询值(value)。
使用 unordered_map 时需要先在程序中引入头文件 `#include <unordered_map>`,然后可以定义一个 unordered_map 变量,比如:
```
unordered_map<string, int> word_count;
```
其中,`string` 表示键的数据类型,`int` 表示值的数据类型。
接下来,可以通过下标操作符 `[]` 来对 unordered_map 进行赋值,例如:
```
word_count["hello"] = 1;
word_count["world"] = 2;
```
同样,也可以通过下标操作符 `[]` 来访问 unordered_map 中的元素,例如:
```
cout << word_count["hello"] << endl;
```
访问 unordered_map 中不存在的元素时,会自动插入一个键为该元素的键,值为零值的元素。因此,需要判断 unordered_map 中是否存在该元素时,可以使用 `count` 函数,例如:
```
if (word_count.count("hello") > 0) {
cout << "hello exists in word_count" << endl;
}
```
需要注意的是,unordered_map 的查询操作和插入操作的时间复杂度都是 O(1) 的。
阅读全文