自己救自己系列,不然我这个渣渣要木得工作了,那还怎么迎娶白富美,走上人生巅峰?

1、map的定义

    1)map是STL中的关联式容器,即通过键值查找。

         想找他兄弟set的请看 https://blog.csdn.net/longshaonihaoa/article/details/106243504

     2) map可以同时拥有实值(value)和键值(key),  可实现根据元素的键值排序,作用机理为红黑树。没有重复元素。若有N个元素,查找速度为logN。

2、map的初始化

map<K, V> a;            //定义一个map,键值类型为K, 实指类型为V

map<char, int> roman2int = {     //定义并进行初始化
    {'I', 1},                    //此处有逗号
    {'V', 5}                     //此处无逗号
};                               //此处有分号


//吼神奇的是map竟然也能for 循环一波,虽然我暂时不知道有卵用
for(auto mp: roman2int){

}

3、基本操作 

a[A]=b;          //向map中插入键值A, 对应的实值为b
a.count(A);      //查找A是否存在, 存在返回1,不存在返回0
a.find(A);       //如查找到返回迭代器,指向元素,不存在则返回 a.end()
a.erase(A);      //从map中擦除键值A

 

4、题目练习

   基础初始化: 力扣 罗马字符转数字  https://leetcode-cn.com/problems/roman-to-integer/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐