unordered_map哈希表
时间: 2023-10-15 18:23:23 浏览: 111
unordered_map是C++标准库中的一个容器,用于实现哈希表(hash table)。哈希表是一种支持高效查找和插入操作的数据结构,它通过将键映射到哈希函数计算出的索引来存储和访问数据。
unordered_map使用键值对(key-value pairs)来存储数据,其中每个键都必须是唯一的。它基于哈希函数将键映射到桶(bucket),每个桶中存储一个或多个键值对。当需要查找或插入数据时,unordered_map会根据键的哈希值找到对应的桶,并在桶中进行操作,从而实现高效的查找和插入。
下面是一个使用unordered_map的简单示例:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> scores;
scores["Alice"] = 95;
scores["Bob"] = 87;
scores["Charlie"] = 92;
std::cout << "Bob's score: " << scores["Bob"] << std::endl;
return 0;
}
```
在这个示例中,我们创建了一个名为scores的unordered_map,其中键是字符串类型,值是整数类型。我们可以使用索引操作符[]来访问和修改unordered_map中的值。在输出中,我们打印了Bob的分数。
需要注意的是,unordered_map是无序的,即其元素的顺序不一定与插入的顺序相同。如果需要有序的映射容器,可以使用map而不是unordered_map。
阅读全文