练习11.9:
#include <iostream>
using namespace std;
#include <map>
#include <string>
#include <set>
#include <list>
#include <vector>
#include <algorithm>
int main()
{
string word;
map<string, list<int>>mw;
int a, i = 10;
//将10个单词及其对应的行号加入map
while (i != 0 && cin >> word && cin >> a)
{
mw[word].push_back(a);
--i;
}
for (const auto& singlew : mw)
{
cout <<"单词 "<< singlew.first << " 出现行数:";
for (const auto&ls : singlew.second)
{
cout << ls << " ";
}
cout << endl;
}
system("pause");
return 0;
}
练习11.10:
可以定义一个vector<int>::iterator到int的map,因为vector<int>::iterator间可以进行<比较
不可以定义一个list<int>::iterator到int的map,因为list<int>::iterator间不可以进行<比较
练习11.11:
bool compareIsbn(const Sales_date& lhs, const Sales_date& rhs)
{
return lhs.isbn() < rhs.isbn();
}
multiset<Sales_date, bool(*)(const Sales_date&, const Sales_date&)>bookstore(compareIsbn);