• おみやげをまらいました(STL--map相关)


    形式:map<key,value>

    一般以map<string,int>这种形式表示声明,<>内存储的是键值对的类型

    声明key为string,value为int,名称为mp的map类型使用语句 map<string,int> mp; 

    key不重复

    需要头文件<map>

    可以通过键key找值value

    以题  おみやげをまらいました  为例

    题目的意思是输入每对字符串的第二个,让你找第一个,那么存储的时候就可以反过来存

    key保存第二个字符串,value保存第一个字符串,这样就方便使用find(key)进行查找

    输入的时候使用下标运算符,map[key]=value;下标是值key

    代码如下:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<map>
    using namespace std;
    int main()
    {
        string s1,s2;
        map<string,string>  mp;
        for(int i=1;i<=3;i++)
        {
            cin>>s1>>s2;
            mp[s2]=s1;//使用下标运算符 
        }
        int n;
        string st;
        cin>>n;
        map<string,string> ::iterator it;//声明迭代器 
        for(int i=1;i<=n;i++)
        {
            cin>>st;
            it=mp.find(st);//查找并将结果保存到迭代器 
            if(it!=mp.end())//不等于mp.end()说明找到了 
            cout<<it->second<<endl;//迭代器的<first,second>对应于map的<key,value> 
            else
            cout<<"Fake"<<endl;
        }
        return 0;
    }

    map常用操作:

    //声明方式:
    map<keytype,valuetype> mp;//keytype是键的类型,valuetype是值的类型
    //常用操作: 
        mp.insert(pair<int,string>(1,"one"));//使用pair类型插入
        mp.insert(map<int,string>::value_type (1,"one"));//使用value_type插入 
        mapStudent[1]="one";//下标方式插入 
        mp.find(key);//返回key映射的迭代器,如果没找到,返回指向末尾的迭代器(mp.end())
        mp.erase(it);//删除it指向的元素 
        mp.erase(key);//key为要删除的映射的键
        mp.erase(first,last);//范围删除 
        mp.size();//大小 
        mp.clear();//清除所有元素 

    使用迭代器进行遍历操作

    假设迭代器为it,那么it->first为第一个元素,it->second为第二个元素

    迭代器的声明方式为 map<string,int> :: iterator it;     (<>内为数据类型)

  • 相关阅读:
    迭代器相关整理
    闭包的功能举例
    函数参数相关整理
    python中进制转换及IP地址转换
    dD Geometry Kernel ( Geometry Kernels) CGAL 4.13 -User Manual
    2D and 3D Linear Geometry Kernel ( Geometry Kernels) CGAL 4.13 -User Manual
    Monotone and Sorted Matrix Search ( Arithmetic and Algebra) CGAL 4.13 -User Manual
    Algebraic Kernel ( Arithmetic and Algebra) CGAL 4.13 -User Manual
    数论中的环概念
    QT的配置及目录结构
  • 原文地址:https://www.cnblogs.com/theshorekind/p/14317233.html
Copyright © 2020-2023  润新知