unorder_map在c++的一些用法

  unordered_map 是 C++ STL(标准模板库)中的一个关联容器,它实现了一个哈希表,允许用户以键值对的形式存储数据。与 map 不同的是,unordered_map 不保证元素的顺序,它提供平均常数时间复杂度的查找、插入和删除操作。

以下是 unordered_map 的一些主要用法和示例:

1. 引入头文件

首先,你需要包含头文件:

#include <unordered_map>

2. 声明 unordered_map

你可以通过以下方式声明一个 unordered_map

unordered_map<int,string> myMap; // 键为 int,值为 string

3. 插入元素

使用 insert 方法或通过 [] 操作符来插入元素。

myMap.insert({1, "Apple"});  
myMap[2] = "Banana";

4. 查找元素

可以使用 find 方法和 [] 操作符来查找元素:

auto it = myMap.find(1);  
if (it != myMap.end()) {  
    cout << "Key 1: " << it->second << endl;  
}  

    cout << "Key 2: " << myMap[2] << endl;

5. 删除元素

使用 erase 方法来删除元素:

myMap.erase(1); // 删除键为 1 的元素

6. 遍历 unordered_map

使用范围-based for 循环遍历 unordered_map

for (const auto& pair : myMap) {  
    cout << "Key: " << pair.first << ", Value: " << pair.second << endl;  
}

7. 检查键的存在性

使用 count 方法可以检查特定键是否存在:

if (myMap.count(2) > 0) {  
    cout << "Key 2 exists." << endl;  
} else {  
    cout << "Key 2 does not exist." << endl;  
}

8. 大小和清空

获取 unordered_map 的大小和清空内容:

cout << "Size: " << myMap.size() << endl;  
myMap.clear(); // 清空所有元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值