C++ 关联式容器之unordered_map
作者:野牛程序员:2024-01-03 18:38:53 C++阅读 2669
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
