码迷,mamicode.com
首页 > 其他好文 > 详细

map 的用法

时间:2018-07-21 00:48:34      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:efi   def   second   class   函数   span   name   fine   数据   

#include<iostream>
#include<map>
#include<string>

#define s second
#define f first

using namespace std;
// map 的构造
map<int , int> ii;
map<string , string> ss;
map<string , int> si;
typedef map<int , string> mapType;
mapType is;

int main()
{
    // map 的插入方法 1 用insert函数插入value_type数据
    ii.insert(map<int, int >::value_type(1,1));
    ii.insert(map<int , int >::value_type(2,2));
    ii.insert(map<int , int >::value_type(3,3));
    cout << "ii : " << endl << ii.size() << endl;
    for(map<int , int>::iterator it = ii.begin(); it != ii.end(); it++)
        cout << "key : " << it->f << " value : " << it->s << endl;
    // map 的插入方法 2 用insert函数插入pair数据
    ss.insert(pair<string, string>("a", "a"));
    ss.insert(pair<string, string>("b", "b"));
    ss.insert(pair<string, string>("c", "c"));
    cout << "ss : " << endl << ii.size() << endl;
    for(map<string , string>::iterator it = ss.begin(); it != ss.end(); it++)
        cout << "key : " << it->f << " value : " << it->s << endl;
    //  map 的插入方法 3 用insert函数插入make_pair数据
    si.insert(make_pair<string, int>("a",1));
    si.insert(make_pair<string, int>("b",2));
    si.insert(make_pair<string, int>("c",3));
    cout << "si : " << endl << si.size() << endl;
    for(map<string , int>::iterator it = si.begin(); it != si.end(); it++)
        cout << "key : " << it->f << " value : " << it->s << endl;
    //  map 的插入方法 4 用数组插入
    ii[2] = 2;
    ii[1] = 11;
    ii[3] = 3;
    ii[1] = 1;
    cout << "ii : " << endl << ii.size() << endl;
    for(map<int , int>::iterator it = ii.begin(); it != ii.end(); it++)
        cout << "key : " << it->f << " value : " << it->s << endl;
    // 前三种方法后面的值不会覆盖前面的值
    // 查找方法 1
    // count函数求的是关键字key的个数?key是不能重复的,所以返回只有0和1两种结果。
    cout << "查找关键字1的结果 : " << ii.count(1) << endl;
    cout << "查找关键字1的结果 : " << ii.count(3) << endl;
    cout << "查找关键字a的结果 : " << ss.count("a") << endl;
    cout << "查找关键字a的结果 : " << si.count("c") << endl;
    //查找方法 2
    map<string, int>::iterator it;
    it = si.find("c");
    if(it != si.end())
        cout << "find it : " << it->s << endl;
    else
        cout << "not find" << endl;





}

 

map 的用法

标签:efi   def   second   class   函数   span   name   fine   数据   

原文地址:https://www.cnblogs.com/mrh-acmer/p/9344715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!