• map函数应用


     map

    map是键值c++对,类似于数组的下标对应一个值,是一个映射关系,一对一的存储容器

    map可以将任何基本类型(包括STL容器),映射到任何基本类型(包括STL容器)

    1.map是一个STL的关联容器,他提供一对一的hash

           1.第一个是key称为键,每个关联字只能在map中出现一次

           2.第二个称为关键字的值

    2.map以模板方式实现,可以储存任何类型的数据,包括使用者的自定义数据类型

    3.map内部的实现自建一颗红黑树,这棵树具有对数据自动个排序的功能(升序),在map内所有数据都是有序的

    4.map的功能

           1.自动建立key-velue对应

     map的定义

    1. #include
    2. #include //map函数的头文件
    3. using namespace std;
    4. int main(){
    5. mapint > arr;//arr是定义的map //可以改变
    6. //类型1,类型2 可以改变 //提示 字符串类型只能是string,不能是char
    7. }

     map的函数

    //例如定义的map是arr

    1.arr.begin():返回起始元素的地址(迭代器)

    2.arr.end():返回最后元素的下一个地址

    3.arr.size():返回map中的元素个数

    4.arr.insert(参数):向map中插入元素

    5.arr.find(参数):查找特定的数据

    6.arr.count(参数):查找特定的元素出现几次,0为没出现,1为出现

    7.arr.erase(参数):删除特定的元素

     插入

    1. #include
    2. #include
    3. using namespace std;
    4. int main(){
    5. mapint> arr;
    6. //例如定义的map是arr
    7. arr["A"]=999; //用普通插入
    8. arr["A"]=1000; //会覆盖
    9. arr.insert(mapint >::value_type("A",1234)); //用insert插入
    10. for(mapint>::iterator a=arr.begin();a!=arr.end();a++)
    11. {
    12. cout <first <<" "<second<//输出key--value对应
    13. }
    14. }

     结果

    map的访问和遍历

    1.定义迭代器 map::iterator a=arr.begin()//定义了名字为a的迭代器

    2.输出迭代器位置的元素 cout<first<<" "<second<

    1. map<string,int>::iterator a=arr.begin()
    2. for(map<string,int>::iterator a=arr.begin();a!=arr.end();a++)
    3. {
    4. cout <first <<" "<second<
    5. }

    下标查找法

    1. #include
    2. #include
    3. using namespace std;
    4. int main(){
    5. mapint> arr;
    6. arr["A"]=100;
    7. if(arr["B"]!=0)//注意没有定义B
    8. cout <<"有"<
    9. else
    10. cout <<"没有"<
    11. if(arr.count("b")!=0){
    12. cout <<"有"<//注意没有定义B
    13. }
    14. //map::iterator a=arr.find("A");//多种方法
    15. //if(a==arr.end())
    16. //cout <<"没找到";
    17. //else
    18. //cout <first <<" "<second;
    19. //if(arr.count("G")==1){
    20. // cout <<"到了";
    21. //}else{
    22. //cout <<"没找到";}
    23. //if(arr.count("G")==1){
    24. // cout <<"存在";
    25. //}
    26. }

    结果

     接下来就讲完了

    既然都听到这了 求三连

  • 相关阅读:
    技术分享| 融合调度中的广播功能设计
    CentOS7安装MYSQL8.X的教程详解
    创造可持续价值的下一代
    Spring
    学了个学教育游戏与源码
    原码、反码、补码(8位二进制数)
    leetcode(力扣) 763. 划分字母区间
    Java学习----JUC包和信号量
    Docker下安装RabbitMQ及使用
    【性能测试】ChaosTesting(混沌测试)&ChaosBlade(混沌实验工具)(四)-k8s容器混沌实验
  • 原文地址:https://blog.csdn.net/setprecisiona/article/details/126200007