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中文网其它相关文章!