C++ 关联式容器之unordered_map
作者:野牛程序员:2024-01-03 18:38:53 C++阅读 2725
C++ 中的无序关联容器 unordered_map 是一种使用哈希表实现的关联容器,它提供了键值对的存储,并且具有快速的查找性能。与 map 不同,unordered_map 中的元素不按照特定顺序存储,而是根据键的哈希值进行组织。
unordered_map 的一些特性包括:
快速的查找、插入和删除操作,平均时间复杂度为 O(1)。
不保持元素的顺序,与键的插入顺序无关。
允许重复的键,但在插入时会忽略重复的键。
以下是 unordered_map 的基本用法示例:
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
// 创建一个无序关联容器 unordered_map,键是字符串,值是整数
std::unordered_map<std::string, int> myMap;
// 插入键值对
myMap["one"] = 1;
myMap["two"] = 2;
myMap["three"] = 3;
// 访问元素
std::cout << "Value of key 'two': " << myMap["two"] << std::endl;
// 查找元素
auto it = myMap.find("three");
if (it != myMap.end()) {
std::cout << "Found key 'three' with value: " << it->second << std::endl;
} else {
std::cout << "Key 'three' not found." << std::endl;
}
// 遍历所有键值对
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}请注意,由于 unordered_map 使用哈希表实现,因此键类型必须提供一个哈希函数和相等比较函数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

