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

C++ primer 第五版 中文版 练习 11.31

2016-03-02 12:24 405 查看
C++ primer 第五版 中文版 练习 11.31

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

答:

[cpp] view
plain copy

#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;

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