练习 11.31:编写程序,定义一个作者及其作品的multimap。使用find在multimap中查找一个元素并用erase删除它。确保你的程序在元素不在map中时也能正常运行。
练习11.32:使用上一题定义的multimap编写一个程序,按字典序打印作者列表和他们的作品。
#include <iostream>
#include <map>
using namespace std;
int main()
{
multimap<string, string> author = {{"ergen", "仙逆"},
{"ergen", "求魔"},
{"ergen", "我欲封天"},
{"chendong", "遮天"},
{"chendong", "完美世界"}};
cout << "Input author's name:";
string name;
cin >> name;
auto index = author.find(name);
if (index != author.end())
author.erase(index);
else
cout << "\nThe author is not in the map.\n";
cout << "\nAfter erasure, the map's elements are:\n";
for (const auto &a : author)
cout << a.first << ": " << a.second << endl;
return 0;
}