头位文件unordered_map
时间: 2023-10-13 22:29:20 浏览: 48
`unordered_map` 是 C++ STL 中的一个关联容器,它提供了基于键值对的快速查找。与 `map` 不同,`unordered_map` 使用哈希表来实现,因此查找操作的时间复杂度为 O(1)。头文件为 `<unordered_map>`。
以下是 `unordered_map` 的一些常见操作:
1. 插入元素:使用 `insert()` 或 `emplace()` 方法将元素插入到 `unordered_map` 中。例如:
```c++
std::unordered_map<std::string, int> myMap;
myMap.insert({"apple", 1});
myMap.emplace("banana", 2);
```
2. 访问元素:使用 `operator[]` 方法访问 `unordered_map` 中的元素。例如:
```c++
std::cout << myMap["apple"] << std::endl; // 输出 1
```
3. 查找元素:使用 `find()` 方法查找 `unordered_map` 中是否存在某个键。例如:
```c++
auto it = myMap.find("apple");
if (it != myMap.end()) {
std::cout << "Found apple" << std::endl;
}
```
4. 删除元素:使用 `erase()` 方法删除 `unordered_map` 中的元素。例如:
```c++
myMap.erase("apple");
```
`unordered_map` 还提供了其他一些方法,例如 `size()`、`clear()`、`empty()` 等。需要注意的是,在使用 `unordered_map` 时,需要为键类型提供哈希函数和相等比较函数。这些函数可以自己实现,也可以使用标准库提供的 `std::hash` 和 `std::equal_to`。