什么是unordered_map?
时间: 2023-11-24 15:52:10 浏览: 66
在C++中,unordered_map是一个关联容器,它提供了一种将键映射到值的方法。与map不同,unordered_map不会对键进行排序,因此它的查找速度更快。unordered_map使用哈希表来实现,因此它的插入、删除和查找操作的平均时间复杂度都是O(1)。
unordered_map的用法与map类似,但是它的迭代器不支持算术运算符,因为它的元素是无序的。以下是unordered_map的一些常用操作:
1. 插入元素:使用insert()函数或者[]运算符可以向unordered_map中插入元素。
2. 删除元素:使用erase()函数可以删除unordered_map中的元素。
3. 查找元素:使用find()函数可以查找unordered_map中的元素。
4. 遍历元素:使用迭代器可以遍历unordered_map中的元素。
以下是一个简单的示例代码,展示了如何使用unordered_map:
```
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> myMap;
myMap.insert({"apple", 1});
myMap.insert({"banana", 2});
myMap.insert({"orange", 3});
std::cout << "The value of apple is " << myMap["apple"] << std::endl;
auto it = myMap.find("banana");
if (it ! myMap.end()) {
std::cout << "The value of banana is " << it->second << std::endl;
}
for (auto& p : myMap) {
std::cout << p.first << " : " << p.second << std::endl;
}
return 0;
}
```
阅读全文