如何往unordered_map里插入键值对
时间: 2023-10-14 18:29:12 浏览: 95
要往unordered_map里插入键值对,可以使用insert或emplace函数。例如:
```
unordered_map<string, int> myMap;
myMap.insert({"apple", 3});
myMap.emplace("banana", 2);
```
这样就可以在myMap中插入"apple":3和"banana":2这两组键值对了。
相关问题
unordered_map怎么输入键值
对于unordered_map,需要使用insert函数插入键值对,示例代码如下:
```c++
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<std::string, int> map;
map.insert({"key1", 1}); //使用花括号列表形式插入键值对
map.insert(std::make_pair("key2", 2)); //使用std::make_pair生成键值对插入
map["key3"] = 3; //使用下标操作符插入键值对
return 0;
}
```
其中,"key1"、"key2"、"key3"分别为键的值,1、2、3分别为对应的值的值。
unordered_map和map的键值对类型
unordered_map 和 map 都是 C++ 中的关联容器(Associative Container),用于存储键值对。
unordered_map 使用哈希表实现,它不保证元素的顺序,而且查找、插入和删除操作的平均时间复杂度为 O(1)。unordered_map 的键值对类型可以是任意类型,只要满足以下条件:
- 键类型必须满足哈希函数要求,即必须提供 `std::hash<KeyType>` 的特化。
- 键类型必须满足相等比较要求,即必须提供 `operator==` 的重载。
map 使用红黑树实现,它按照键的大小顺序进行排序,并保持有序性。查找、插入和删除操作的平均时间复杂度为 O(log n)。map 的键值对类型可以是任意类型,只要满足以下条件:
- 键类型必须满足严格弱序关系,即必须提供 `operator<` 的重载。
总结:
- unordered_map 的键值对类型可以是任意类型,只需要满足哈希函数和相等比较的要求。
- map 的键值对类型可以是任意类型,只需要满足严格弱序关系。
阅读全文