c++如何实现哈希表
时间: 2023-08-22 22:08:59 浏览: 120
哈希表的相关介绍(c++)
C++中可以使用标准库中的`unordered_map`来实现哈希表。
`unordered_map`是一个关联容器,它使用哈希表来存储键值对。它的特点是插入、查找、删除操作的时间复杂度都是常数级别的,因此在数据量较大时性能优秀。
以下是一个简单的示例:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
// 创建一个unordered_map对象
unordered_map<string, int> mymap;
// 插入键值对
mymap.insert(make_pair("apple", 3));
mymap.insert(make_pair("banana", 2));
mymap.insert(make_pair("orange", 4));
// 查找元素
if (mymap.find("apple") != mymap.end()) {
cout << "apple: " << mymap["apple"] << endl;
}
// 遍历unordered_map
for (auto it = mymap.begin(); it != mymap.end(); ++it) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
在上面的示例中,我们首先创建了一个`unordered_map`对象`mymap`,然后使用`insert`函数插入了三个键值对。
接着,我们使用`find`函数查找键为"apple"的元素,如果找到了就输出对应的值。
最后,我们使用`auto`关键字和迭代器遍历了整个`unordered_map`,输出了每个键值对的键和值。
阅读全文