c++++ stl 中的哈希表函数可快速查找键值对,包括:std::unordered_map:未排序哈希表,存储键值对std::unordered_multimap:未排序多值哈希表,一个键可对应多个值std::unordered_set:未排序哈希表,仅存储键,无关联值std::unordered_multiset:未排序多值哈希表,允许存储重复键

C++ 的 STL 函数:哈希表
介绍
哈希表是一种数据结构,它通过将键值对存储在数组中,使用哈希函数将其映射到键,来实现快速寻址。C++ 标准模板库 (STL) 提供了多种 STL 函数用于创建和操作哈希表。
std::unordered_map
std::unordered_map 是一个未排序的哈希表,它使用键值对的形式存储元素。其主要函数包括:
- insert():插入一个键值对到哈希表中。
- find():查找一个键并返回其对应的值。
- erase():从哈希表中删除一个键。
- clear():清除哈希表中的所有元素。
std::unordered_multimap
std::unordered_multimap 与 std::unordered_map 类似,但它允许一个键对应多个值(多值映射)。
std::unordered_set
std::unordered_set 是一种未排序的哈希表,它只存储键,而不存储值。其主要函数包括:
- insert():插入一个键到哈希表中。
- find():查找一个键。
- erase():从哈希表中删除一个键。
- clear():清除哈希表中的所有键。
std::unordered_multiset
std::unordered_multiset 与 std::unordered_set 类似,但它允许存储重复键。
实战案例
#include <iostream>
#include <unordered_map>
int main()
{
// 创建一个 std::unordered_map
std::unordered_map<std::string, int> myMap;
// 插入键值对
myMap["Alice"] = 25;
myMap["Bob"] = 30;
// 查找一个键
int age = myMap["Alice"];
std::cout << "Alice's age: " << age << std::endl;
// 移除键
myMap.erase("Bob");
// 遍历哈希表
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << " -> " << it->second << std::endl;
}
return 0;
} 输出:
Alice's age: 25 Alice -> 25
以上就是C++ 函数的 STL 函数有哪些用于哈希表?的详细内容,更多请关注知识资源分享宝库其它相关文章!







发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。