stl的unordere_map
时间: 2023-11-01 12:58:43 浏览: 51
unorderer_map 是 C++ STL 中的一个容器,它是使用哈希表实现的无序关联容器。它提供了快速的插入、删除和查找操作,其平均时间复杂度为 O(1)。
与有序关联容器(如 map 和 set)不同,unorderer_map 中的元素是无序存储的,并且不支持按照元素的键进行排序。每个元素都有一个唯一的键,通过这个键可以快速访问和操作元素。元素的插入和查找操作都是通过哈希函数来进行的。
使用 unorderer_map 的步骤如下:
1. 包含头文件:<unordered_map>
2. 声明 unorderer_map 对象,指定键类型和值类型。例如:std::unordered_map<int, std::string> myMap;
3. 插入元素:使用 insert() 或者 [] 操作符插入键值对。例如:myMap.insert(std::make_pair(1, "one")); 或者 myMap = "two";
4. 查找元素:使用 find() 成员函数或者使用 [] 运算符进行查找。例如:auto iter = myMap.find(1); 或者 std::cout << myMap << std::endl;
5. 删除元素:使用 erase() 成员函数进行删除。例如:myMap.erase(1);
6. 遍历元素:使用迭代器进行遍历。例如:
```cpp
for (auto iter = myMap.begin(); iter != myMap.end(); ++iter) {
std::cout << "Key: " << iter->first << ", Value: " << iter->second << std::endl;
}
```