您的位置:首页 > 其它

map的用法

2016-09-04 15:40 204 查看
http://blog.csdn. net/diaolingle/article/details/51388585

上面的链接包含了map的大部分基本用法

这里介绍含多个参数的map用法, 和pair的用法

#include <iostream>

#include <cstdio>

#include <cstring>

#include <algorithm>

#include <cmath>

#include <queue>

#include <map>

using namespace std;

const int N = 700500;

const int inf = 0x3f3f3f3f;

int main()

{

    string s1, s2;

    map<int, pair<string, string> > m; //最后> >之间有空格

    pair <string, string> s;

    for(int i = 1; i<=2;i++)

    {

        cin>>s1>>s2;

        m[i] = pair<string, string>(s1, s2);

    }

    map <int, pair<string, string> >:: iterator it;

    for(int i = 1; i<=2;i++)

        cout<<m[i].first<<m[i].second<<endl;

    return 0;

}

#include <iostream>

#include <cstdio>

#include <cstring>

#include <algorithm>

#include <string>

#include <cmath>

#include <map>

#include <set>

using namespace std;

const int N = 100005;

typedef long long LL;

int main()

{

    int n, nm;

    map<int, int> m;

    while(~scanf("%d", &n))

    {

        m.clear();

        for(int i = 1; i<=n;i++)

        {

            scanf("%d", &nm);

            m[nm]++;

        }

        map<int, int>::iterator it;

        int sum = 0;

        for(it=m.begin();it!=m.end();it++)

        {

            if(it->second&1)

            {

                sum+=(it->second-1)/2;

            }

            else

            {

            tf("%d\n", sum/=2);

    }    sum+=it->second/2;

            }

        }

        printf("%d\n", sum/=2);

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: