unorderedmap查找
时间: 2023-11-02 12:59:03 浏览: 75
unordered_map是一个高效的关联容器,可以根据单个key值快速查找对应的value。它内部实现了哈希表,因此查找速度是常量级别的。unordered_map在查找问题上更加高效,因此常常被用于解决查找问题。要使用unordered_map,你可以使用[]操作符来访问key值对应的value值。另外,unordered_map也提供了insert、erase和find等方法来增加、删除和查询元素。注意,unordered_map存储元素时没有顺序,遍历顺序与创建容器时输入元素的顺序无关。对于unordered_map的使用,你可以参考以下示例代码:
```
std::unordered_map<std::string, int> umap; //定义
umap.insert(std::make_pair("test", 1)); //增加
auto n = umap.erase("test"); //删除
auto it = umap.find(key); //查找
if(it != umap.end()) it->second = new_value; //修改
```
在上述代码中,使用find方法可以查找key值对应的value值,如果找到了,可以通过it->second来获取或修改value值。如果没有找到,find方法会返回umap.end()。另外,使用umap.erase(key)可以删除key值对应的元素。还可以使用umap.count(key)来判断key值是否存在于unordered_map中。需要注意的是,当使用auto循环时,修改的值仅在循环内部有效,循环外部的值不会受到影响。
阅读全文