C++ Primer笔记 map 之 insert函数

insert函数

m.insert(e); //e是一个和m上元素相同value_type的值,如果e在m中则不做任何操作,如果e不再m中则插入。                                                // 返回一个pair类型对象,该pair对象包含一个迭代器和一个bool值,如果插入了则bool为true,否则为假


m.insert(beg, end);  //参数为两个迭代器


m.insert(iter, e); //如果键(e.first)不在m中,则创建新元素,并以迭代器iter为起点搜索新元素存储的位置

//返回一个迭代器,指向m中具有给定键的元素



用 insert 函数统计单词数目

#include <iostream>

#include <string>

#include <map>

using namespace std;

 

int main()

{

    map<string, int> wordcount;

    string str;

    pair< map<string, int>::iterator, bool> pairIns;

    cout<<"input"<<endl;

 

    while (cin>>str)

    {

        //insert函数返回一个pair对象,该对象包含一个迭代器和一个bool值

        //如果bool为true则说明正确插入,否则说明插入的值含有重复的键值,此时不做任何操作

        //返回的迭代器都为指定元素

        pairIns = wordcount.insert(map<string, int>::value_type(str, 1));

 

        if (pairIns.second == false)

        {

            ((*(pairIns.first)).second) ++;

        }

    }

 

    for (map<string, int>::const_iterator iter = wordcount.begin(); iter != wordcount.end(); ++ iter)

    {

        cout<<iter->first<<"  "<<iter->second<<endl;

    }

    cout<<endl;

    return 0;

}


//运行结果

C++ Primer笔记   map 之 insert函数 - 大灰狼 - 大灰狼 的博客


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值