vC++ 哈希表 DEMO
时间: 2024-08-30 18:02:18 浏览: 27
VC++ (Visual C++) 中的哈希表可以通过标准库容器 `std::unordered_map` 来实现,它是C++ STL(标准模板库)的一部分。以下是一个简单的`std::unordered_map` DEMO示例:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
// 创建一个空的哈希表
std::unordered_map<std::string, int> myMap;
// 插入键值对
myMap["apple"] = 1;
myMap["banana"] = 2;
myMap["orange"] = 3;
// 查询键对应的值
if (myMap.find("apple") != myMap.end()) {
std::cout << "Value of 'apple': " << myMap["apple"] << std::endl;
}
// 使用迭代器遍历哈希表
for (const auto& pair : myMap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}
```
在这个示例中,我们创建了一个字符串到整数的映射,并演示了如何添加键值对、查找特定键的值以及遍历整个哈希表。`find()`函数用于检查是否存在给定的键,`end()`返回迭代器表示哈希表的结束位置,如果没有匹配项,则不会到达。
注意,虽然查询通常很快,但插入新条目(比如使用`[]`运算符插入)的时间复杂度取决于哈希表内部实现,可以是O(1)也可能受到碰撞的影响。