unordered_map<int, int>mp
时间: 2023-06-13 20:04:19 浏览: 223
这是一个 C++ 中的 unordered_map 类型,它是一个哈希表,用于将键值对映射到索引位置。其中,模板参数中的第一个 int 是键(key)的类型,第二个 int 是值(value)的类型。你可以使用 mp[key] = value 的方式向哈希表中添加或更新键值对,也可以使用 mp.find(key) 查找键在哈希表中的位置。由于 unordered_map 是基于哈希表实现的,因此可以快速地查找和插入元素,时间复杂度为 O(1)。
相关问题
unordered_map<int, int>mp如何使用
unordered_map 是 C++ STL 中的一个关联容器,可以用于存储键值对。其中,键和值都可以为任意类型,且键必须是唯一的。
使用 unordered_map 时,需要包含头文件<unordered_map>。下面是一个示例代码:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<int, int> mp;
mp[1] = 10;
mp[2] = 20;
mp[3] = 30;
cout << mp[1] << endl; // 输出 10
cout << mp[2] << endl; // 输出 20
cout << mp[3] << endl; // 输出 30
return 0;
}
```
在上面的代码中,我们首先创建了一个名为 mp 的 unordered_map 对象,该对象的键为 int 类型,值也为 int 类型。然后,我们向 mp 中插入了三个键值对,分别为 (1, 10),(2, 20),和 (3, 30)。最后,我们通过键来访问 mp 中的值,并将其输出到控制台。
需要注意的是,如果我们访问 mp 中不存在的键,将会返回一个默认值。在上面的代码中,我们没有向 mp 中插入键值对 (4, xx),因此访问 mp[4] 时将会返回一个默认值。为了避免这种情况,我们可以使用 unordered_map 的 count() 函数或 find() 函数来判断某个键是否存在。例如:
```c++
if (mp.count(4)) {
// 4 存在于 mp 中
}
auto iter = mp.find(4);
if (iter != mp.end()) {
// 4 存在于 mp 中
}
```
上面的代码中,我们先使用 count() 函数来判断键 4 是否存在于 mp 中,如果存在则执行相应的操作。另外,我们还可以使用 find() 函数来查找键 4,如果找到了则返回指向该键值对的迭代器,否则返回 mp.end()。
unordered_map<char, int> mp
unordered_map<char, int> mp是一个C++ STL标准库中的容器,它可以将字符类型char映射到整数类型int上,实现类似字典的功能。其中,char为关键字(键),int为值。它的特点是能够在常数时间内(平均O(1))完成查找、插入和删除操作,因此非常适合用来存储大量的键值对,并且在需要快速查找或统计某个键出现次数的场景下具有很大的优势。此外,unordered_map还支持迭代器等基本操作,具有较好的灵活性和扩展性。
阅读全文