unordered_map 和pair使用
时间: 2024-04-24 18:19:48 浏览: 85
unordered_map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。它的特点是根据键的哈希值进行快速查找,因此查找操作的时间复杂度为O(1)。unordered_map中的元素是无序的,即插入的顺序与元素在容器中的位置无关。
pair是C++标准库中的一个模板类,用于存储两个不同类型的对象。它将两个对象打包成一个单元,可以通过pair的成员变量first和second来访问这两个对象。pair常用于unordered_map中作为键值对的类型。
使用unordered_map和pair可以实现一些常见的操作,例如插入、查找、删除等。下面是使用unordered_map和pair的示例代码:
```cpp
#include <iostream>
#include <unordered_map>
#include <utility>
int main() {
// 创建一个unordered_map
std::unordered_map<int, std::string> myMap;
// 插入键值对
myMap.insert(std::make_pair(1, "apple"));
myMap.insert(std::make_pair(2, "banana"));
myMap.insert(std::make_pair(3, "orange"));
// 查找元素
std::unordered_map<int, std::string>::iterator it = myMap.find(2);
if (it != myMap.end()) {
std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
}
// 删除元素
myMap.erase(3);
// 遍历unordered_map
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}
```
阅读全文