map和set的增删查改

一: map











迭代器区间的范围:  [通常是左闭右开)

二:multimap

multimap跟map大多数接口基本都相同,只不过multimap是可以在map中插入相同的key值

底层红黑树就是把相同元素直接链到相同元素的letf或right上


    

二:set


set的话,就是map少一个模板参数value,其它基本一样。接口也大致相同,在此就不赘述了。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对 unordered_map 的元素进行增删查改可以使用以下方法: 1. 增加元素: - 使用 `insert()` 函数插入键值对。 ```cpp unordered_map<int, string> myMap; myMap.insert(make_pair(1, "apple")); ``` - 使用 `emplace()` 函数插入键值对。该函数可以避免键的重复拷贝。 ```cpp unordered_map<int, string> myMap; myMap.emplace(1, "apple"); ``` - 使用索引操作符 `[]` 直接赋值。 ```cpp unordered_map<int, string> myMap; myMap[1] = "apple"; ``` 2. 删除元素: - 使用 `erase()` 函数删除指定键的元素。 ```cpp unordered_map<int, string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}}; myMap.erase(2); // 删除键为 2 的元素 ``` - 使用迭代器删除指定位置的元素。 ```cpp unordered_map<int, string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}}; auto it = myMap.find(2); if (it != myMap.end()) { myMap.erase(it); // 删除指定迭代器位置的元素 } ``` - 使用 `clear()` 函数清空所有元素。 ```cpp unordered_map<int, string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}}; myMap.clear(); // 清空所有元素 ``` 3. 查找元素: - 使用 `find()` 函数查找指定键的元素,返回一个迭代器。 ```cpp unordered_map<int, string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}}; auto it = myMap.find(2); if (it != myMap.end()) { cout << "找到键为 2 的元素: " << it->second << endl; } else { cout << "未找到键为 2 的元素" << endl; } ``` 4. 修改元素: - 使用索引操作符 `[]` 直接修改指定键的值。 ```cpp unordered_map<int, string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}}; myMap[2] = "grape"; // 将键为 2 的值修改为 "grape" ``` 这些是对 unordered_map 元素进行增删查改的常见操作方法,根据具体需求选择合适的方法即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值