加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C++ unordered_map 用法

发布时间:2020-12-15 04:50:05 所属栏目:百科 来源:网络整理
导读:c++使用unordered_map #include //在unordered_map之前加上tr1库名, using namespace std::tr1;//与此同时需要加上命名空间 1 2 3 [查找元素是否存在] 若有unordered_map mp;查找x是否在map中 方法1: 若存在 mp.find(x)!=mp.end() 方法2: 若存在 mp.count(x

c++使用unordered_map

#include//在unordered_map之前加上tr1库名,

using namespace std::tr1;//与此同时需要加上命名空间

1

2

3

[查找元素是否存在]

若有unordered_map mp;查找x是否在map中

方法1: 若存在 mp.find(x)!=mp.end()

方法2: 若存在 mp.count(x)!=0

1

2

3

[插入数据]

mp.insert(Map::value_type(1,"Raoul"));

1

[遍历map]

unordered_map::iterator it;

(*it).first; //the key value

(*it).second //the mapped value

for(unordered_map::iterator iter=mp.begin();iter!=mp.end();iter++)

cout<<"key value is"<first<<" the mapped value is "<< iter->second;

//也可以这样

for(auto& v : mp)

print v.first and v.second

例程:

#include ?


#include ?


#include


#include ?


using namespace std; ?


int main() ?


{ ?


?? ?//注意:C++11才开始支持括号初始化


? ? unordered_map myMap={{ 5,"张大" },{ 6,"李五" }};//使用{}赋值


? ? myMap[2] = "李四"; ?//使用[ ]进行单个插入,若已存在键值2,则赋值修改,若无则插入。


? ? myMap.insert(pair(3,"陈二"));//使用insert和pair插入


??


?? ?//遍历输出+迭代器的使用


? ? auto iter = myMap.begin();//auto自动识别为迭代器类型unordered_map::iterator


? ? while (iter!= myMap.end())


? ? { ?


? ? ? ? cout << iter->first << "," << iter->second << endl; ?


? ? ? ? ++iter; ?


? ? } ?


?? ?


?? ?//查找元素并输出+迭代器的使用


? ? auto iterator = myMap.find(2);//find()返回一个指向2的迭代器


? ? if (iterator != myMap.end())


?? ? ? ?cout << endl<< iterator->first << "," << iterator->second << endl; ?


? ? system("pause"); ?


? ? return 0; ?


} ?


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读