C++ hashMap
时间: 2024-06-17 10:02:33 浏览: 177
C++中的哈希表(hash map)是一常用的数据结构,它提供了高效的键值对存储和查找功能。在C++中,哈希表通常使用std::unordered_map类来实现。
哈希表的原理是通过哈希函数将键映射到一个固定大小的数组中,这个数组被称为哈希表。当需要插入或查找一个键值对时,首先通过哈希函数计算出键对应的索引,然后在哈希表中进行操作。
C++的std::unordered_map类提供了以下常用的功能:
1. 插入键值对:使用insert()函数可以向哈希表中插入一个键值对。
2. 删除键值对:使用erase()函数可以从哈希表中删除指定的键值对。
3. 查找值:使用find()函数可以根据键查找对应的值。
4. 访问值:可以使用[]运算符或at()函数来访问指定键对应的值。
5. 判断键是否存在:使用count()函数可以判断指定键是否存在于哈希表中。
以下是一个简单的示例代码,演示了如何使用std::unordered_map实现哈希表:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> hashMap;
// 插入键值对
hashMap.insert({"apple", 5});
hashMap.insert({"banana", 3});
hashMap.insert({"orange", 7});
// 访问值
std::cout << "The value of apple is: " << hashMap["apple"] << std::endl;
// 删除键值对
hashMap.erase("banana");
// 判断键是否存在
if (hashMap.count("orange") > 0) {
std::cout << "The key orange exists in the hash map." << std::endl;
}
return 0;
}
```
阅读全文