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

C++ 的 STL 函数:哈希表
介绍
哈希表是一种数据结构,它通过将键值对存储在数组中,使用哈希函数将其映射到键,来实现快速寻址。C++ 标准模板库 (STL) 提供了多种 STL 函数用于创建和操作哈希表。
立即学习“C++免费学习笔记(深入)”;
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 函数有哪些用于哈希表?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号