C++ Primer笔记 map 之 insert函数

来源:互联网 发布:java数据库编程 编辑:程序博客网 时间:2024/06/06 18:46

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函数 - 大灰狼 - 大灰狼 的博客


原创粉丝点击