unordered_map容器


本文总阅读量

一、unordered_map和map有什么区别

unordered_mapmapC++ 标准库中的两种关联容器,它们有以下区别:

二、unordered_map使用介绍

定义

unordered_map<key,value> m;  

key是主键,value是值,可以实现从主键到值的映射

常用操作

函数 作用
hash.size() 返回当前map 容器大小(元素个数)
hash.empty() 判断 map 容器是否为空,空返回1,非空返回0
hash.clear() 清空map中所有元素
hash.erase(key) 通过key删除元素
hash.erase(it) 删除迭代器it指向的元素,可与find函数结合起来使用

1.插入元素

  • hash["cat"]=20;
    插入过程,先取出hash[key],再重新赋值。
    如果就写hash[key],key存在的话,就只有取出过程;如果key不存在的话,就是插入过程,默认插入0。
  • </span>hash.insert({"dog",111});

    都可以插入,不过可以实现更新,由于map中主键key只能有一个,不能重复,当key已经存在于map中时,使用方法可以进行更新,而使用方法就不会插入了。

    2.访问元素

    for(auto t:hash){  
    	cout<<t.first<<" "<<t.second<<"\n";  
    }  
    

    3.判断主键是否存在

    课后习题

    5102:不重复的数字
    7863:集合
    7193:图书管理
    7542-八数码问题
    7860:Snowflake Snow Snowflakes


    本站总访问量