1. 统计单词个数。
#include<iostream>
#include<map>
using namespace std;
int main(int argc, char const *argv[])
{
string word="";
map<string,int> word_count;
while(cin>>word)
++word_count[word];
for(const auto &w:word_count)
cout<<w.first<<"出现了"<<w.second<<"次"<<endl;
return 0;
}
这里面的word_count容器被用来统计单词出现的次数。
what is your is what
^Z
is出现了2次
what出现了2次
your出现了1次
--------------------------------
Process exited with return value 0
Press any key to continue . . .
2. 利用map统计家庭和孩子
#include<iostream>
#include<map>
#include<string>
#include<vector>
using namespace std;
void add_family(map<string,vector<string>> &families,const string &family)
{
if(families.find(family)!=families.end())
families[family]=vector<string>();
}
void add_child(map<string,vector<string>> &families,const string &family,const string &child)
{
families[family].push_back(child);
}
int main(int argc, char const *argv[])
{
map<string,vector<string>> families;
add_family(families,"xu");
add_child(families,"xu","yuan");
add_child(families,"xu","yicheng");
add_child(families,"wei","zhuang");
// add_family(families,"wei");
for(auto f:families)
{
cout<<f.first<<"家有:";
for(auto s:f.second)
cout<<s<<" ";
cout<<endl;
}
return 0;
}
输出结果:
wei家有:zhuang
xu家有:yuan yicheng
--------------------------------
Process exited with return value 0
Press any key to continue . . .