C++ STL中的multimap::swap()
multimap::swap()用于交换一个同类型和大小的multimap与另一个multimap的内容。
语法:-
multimap1.swap(multimap2)
参数 :
需要与其交换内容的multimap的名称。
结果 :
2个multimap的所有元素都被交换。
例子:
输入: multimap1 = { ('a',1), ('b',2), ('c',3)
multimap2 = ( ('d',4), ('e',5) )
multimap1.swap(multimap2);
输出: MultiMap 1 数据
('d', 4), ('e', 5)
MultiMap 2 数据
('a',1), ('b',2), ('c',3)
输入: multimap1 = { ('abc',10) , ('bef',12) , ('efg',13)
multimap2 = ( ('def',14), ('ehi',15) )
multimap1.swap(multimap2);
输出: multimap 1 数据
('def',14), ('ehi',15)
multimap 2 数据
('abc',10) , ('bef',12) , ('efg',13)
// CPP Program to illustrate...
#include<iostream>
#include<map>
using namespace std;
int main()
{
//初始化multimap
multimap<char,int> m1;
multimap<char,int> m2;
// 迭代器,迭代所有
// multimap元素
multimap<char,int>:: iterator iter;
// multimap1数据
m1.insert(make_pair('a',1));
m1.insert(make_pair('b',2));
m1.insert(make_pair('c',3));
// multimap2数据
m2.insert(make_pair('d',4));
m2.insert(make_pair('e',5));
// 交换multimap1数据和
// multimap2数据
m1.swap(m2);
// multimap1数据
cout << "MultiMap 1 data" << "\n";
for( iter = m1.begin() ;
iter != m1.end() ; iter++)
cout << (*iter).first << " "
<< (*iter).second << "\n";
// multimap2数据
cout << "MultiMap 2 data" << "\n";
for( iter = m2.begin() ;
iter != m2.end() ; iter++ )
cout << (*iter).first << " "
<< (*iter).second << "\n";
}
输出:-
MultiMap 1 数据
d 4
e 5
MultiMap 2 数据
a 1
b 2
c 3