unordered_map详解
时间: 2024-03-29 08:33:00 浏览: 71
unordered_map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。unordered_map使用哈希表来实现,因此可以在常数时间内进行插入、删除和查找操作。下面是unordered_map的一些详解:
1. 插入和访问元素:可以使用insert()函数插入键值对,也可以使用[]运算符访问元素。例如:
```
unordered_map<string, int> myMap;
myMap.insert(make_pair("apple", 5));
myMap["banana"] = 3;
```
注意,如果使用[]运算符访问不存在的键,则会自动插入一个默认值。
2. 查找元素:可以使用find()函数来查找指定键的元素,返回一个迭代器。如果元素存在,则迭代器指向该元素;如果不存在,则返回end()迭代器。例如:
```
auto it = myMap.find("apple");
if (it != myMap.end()) {
cout << "apple: " << it->second << endl;
}
```
3. 删除元素:可以使用erase()函数来删除指定键的元素。例如:
```
myMap.erase("banana");
```
4. 遍历元素:可以使用迭代器来遍历unordered_map中的所有元素。例如:
```
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
cout << it->first << ": " << it->second << endl;
}
```
5. unordered_map的特点:
- 键是唯一的,不允许重复。
- 元素的顺序是无序的,与插入顺序无关。
- 哈希表的性能取决于哈希函数的质量和容器的负载因子。
阅读全文
相关推荐


















