习题11-21
插入word到word_count中,若word不存在,则将其关联数值size_t设为0,然后递增;若word已经存在,递增其关联数值size_t;
习题11-22
参数类型:map<string,vector<int>>;
返回类型:map<map<string,vector<int>>,bool>
习题11-23
#include<iostream>
#include<vector>
#include<map>
#include<string>
#include<algorithm>
using namespace std;
void main()
{
multimap<string, string> family;
string str1, str2;
while (cin >> str1 >> str2)
{
family.insert({ str1,str2 });
}
for (auto &m : family)
cout << m.first << " " << m.second << endl;
}
习题11-24
先定义一个空map,然后在map中搜索关键字0,未找到,插入pair<0,0>;
习题11-25
先定义个空vector,访问其第一个元素,但是vector没有元素,报错;
习题11-26
可以用map的关键字key_type对其执行下标操作,mapped_type为其返回类型;
map<string,int> m;
m[string("s")]=1;
cout<<m["s"]<<endl;
习题11-27
对允许重复关键字的容器用 count ; 对不允许重复关键字的容器用 find 。
习题11-28
map<string,vector<int>> m;
map<string,vector<int>>::iterator it=m.find("s");
习题11-29
如果给定的关键字不在容器中,则 lower_bound和 upper_bound 会返回相等的迭代器,指向一个不影响排序的关键字插入位置。而equal_range 会返回一个 pair,pair 中的两个迭代器都指向关键字可以插入的位置。
习题11-30
搜索与search_item相等的迭代器范围,返回与该值相等第一个元素的迭代器为pos.first,解引用得到相应的map元素,map元素对应search_item的关键值的关联值。