c++ unordered_map用法
时间: 2024-10-21 21:10:09 浏览: 29
unordered_map_
`unordered_map`是C++标准库中的关联容器,它基于哈希表实现,用于存储键值对。其主要特点包括:
1. **快速查找**:由于内部使用哈希函数,对于随机访问的数据,插入、删除和查找操作的时间复杂度通常接近O(1)。
2. **无序性**:元素的存储顺序并不保证,与`map`不同,`unordered_map`不会保持键的排序。
3. **迭代器**:提供迭代器支持,可以遍历整个映射。
4. **自定义比较**:允许通过模板参数指定键或值的比较函数,例如`std::less<T>`默认用于数值类型的比较,而自定义函数则可以实现自定义排序规则。
使用`unordered_map`的基本步骤如下:
```cpp
#include <unordered_map>
// 创建一个unordered_map实例
std::unordered_map<std::string, int> myMap;
// 插入键值对
myMap["apple"] = 1;
myMap["banana"] = 2;
// 访问值
int count = myMap["apple"]; // 输出1
// 遍历
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << "\n";
}
// 删除键值对
myMap.erase("banana");
阅读全文