您的位置:首页 > 编程语言 > C语言/C++

C++ primer 第五版 中文版 练习 11.31 个人code

2014-09-22 22:34 756 查看
C++ primer 第五版 中文版 练习 11.31

题目:编写程序,定义一个作者及其作品的multimap 。使用find 在 multimap 中查找一个元素并用erase 删除它。确保你的程序在元素不在map中时也能正常运行。

答:

#include <iostream>
#include <map>
#include <string>

using namespace std;

int main()
{
multimap<string, string> mumap = { {"ben","think in C++"},{ "rock", "C++ Primer" }, { "rock", "the C program" }, { "li", "hackers" }, { "li", "C++ primer plus" } };
string keyword;
cout << "请输入要删除的关键字:";
cin >> keyword;
auto cnt = mumap.count(keyword);
if (cnt == 0)
{
cout << "要删除的关键字" << keyword << "不在mumpa中" << endl;
}
else
{
while (cnt)
{
auto iter = mumap.find(keyword);
mumap.erase(iter);
--cnt;
}
cout << "删除成功,删除后的mumap内的内容为:" << endl;
for (const auto &w : mumap)
cout << w.first << " " << w.second << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: