////////////////////////////////////////
// 2018/05/06 9:39:32
// multimap-swap
// exchage two maltimap
#include <iostream>
#include <map>
#include <list>
#include <numeric>
#include <algorithm>
#include <iterator>
using namespace std;
typedef multimap<int, list<int>> M;
void print(M m){
M::iterator It = m.begin();
list<int>::iterator Li;
while (It != m.end()){
cout << "key:" << It->first
<< ";value:";
for (Li = It->second.begin(); Li != It->second.end(); Li++){
cout << *Li << " ";
}
It++;
}
cout << endl;
}
//-------------------------------
int main(){
list<int> L1, L2;
L1.push_back(1);
L1.push_back(2);
L1.push_back(3);
L2.push_back(5);
copy(L1.begin(), L1.end(), back_inserter(L2));
M m1, m2;
m1.insert(M::value_type(1,L1));
m2.insert(M::value_type(2,L2));
cout << "multimap m1:" << endl;
print(m1);
cout << "multimap m2:" << endl;
print(m2);
if (m1 == m2){
cout << "multimaps m1 and m2 are equal." << endl;
}
else{
cout << endl << "After m1.swap(m2)" << endl;
m1.swap(m2);
cout << "multimap m1:" << endl;
print(m1);
cout << "multimap m2:" << endl;
print(m2);
}
return 0;
}
/*
OUTPUT:
multimap m1:
key:1;value:1 2 3
multimap m2:
key:2;value:5 1 2 3
After m1.swap(m2)
multimap m1:
key:2;value:5 1 2 3
multimap m2:
key:1;value:1 2 3
*/
multimap-swap
最新推荐文章于 2024-11-02 19:05:21 发布
本文展示了一个使用 C++ 实现的 multimap 交换示例。通过创建两个包含不同整数列表的多重映射 m1 和 m2,并利用 multimap 的 swap 方法交换两者的内容,演示了 multimap 之间的数据交换过程。
690

被折叠的 条评论
为什么被折叠?



