C++ STL中的unordered_multiset swap()函数
unordered_multiset::swap() 是C++ STL中的内置函数,用于交换两个unordered_multiset容器的内容。
注意 :这两个容器应该具有相同类型的元素。容器的大小可能不同。
语法
unordered_multiset1.swap(unordered_multiset2);
参数: 该函数仅接受一个必需参数,即要进行交换的unordered_multiset2。
返回值: 它不返回任何值。
下面的程序说明了上述函数。
程序1:
// C ++程序说明
// unordered_multiset :: swap()
#include
#include
#include
using namespace std;
//显示multiset s的内容
void display(unordered_multiset s)
{
for (auto it = s.begin(); it != s.end(); it++)
cout << *it << " ";
cout << "\n";
}
int main()
{
//声明
unordered_multiset s1,s2;
//初始化两个multisets(大小不同)
s1 = { 1, 2, 3, 4 };
s2 = { 10, 20, 30, 40, 50 };
//显示初始值
cout <<“s1的初始值为:\n”;
display(s1);
cout << endl;
cout <<“s2的初始值为:\n”;
display(s2);
cout << endl;
//交换值
s1.swap(s2);
//显示最终值
cout <<“s1的最终值为:\n”;
display(s1);
cout << endl;
cout <<“s2的最终值为:\n”;
display(s2);
return 0;
}
输出:
s1的初始值为:
4 3 2 1
s2的初始值为:
50 40 30 20 10
s1的最终值为:
50 40 30 20 10
s2的最终值为:
4 3 2 1
程序2:
// C ++程序说明
// unordered_multiset :: swap()
#include
#include
#include
using namespace std;
//显示多重集合s的内容
void display(unordered_multiset s)
{
for (auto it = s.begin(); it != s.end(); it++)
cout << *it << " ";
cout << endl;
}
int main()
{
//声明
unordered_multiset s1,s2;
//初始化两个multisets(大小不同)
s1 = { “Geeks”, “for”, “Geeks” };
s2 = { “计算机”, “科学”, “门户网站”, “for”, “Geeks” };
//显示初始值
cout <<“s1的初始值为:\n”;
display(s1);
cout << endl;
cout <<“s2的初始值为:\n”;
display(s2);
cout << endl;
//交换
s1.swap(s2);
//显示最终值
cout <<“s1的最终值为:\n”;
display(s1);
cout << endl;
cout <<“s2的最终值为:\n”;
display(s2);
return 0;
}
输出:
s1的初始值为:
for Geeks Geeks
s2的初始值为:
Geeks for Portal Science Computer
s1的最终值为:
Geeks for Portal Science Computer
s2的最终值为:
for Geeks Geeks