multiset::swap() in C++ STL
Last Updated :
03 May, 2022
Multisets are a type of associative containers similar to set, with an exception that multiple elements can have same values.
multiset::swap()
This function is used to exchange the contents of two multisets but the sets must be of same type, although sizes may differ.
Syntax :
multisetname1.swap(multisetname2)
Parameters :
The name of the multiset with which
the contents have to be swapped.
Result :
All the elements of the 2 multiset are swapped.
Examples:
Input : multiset1 = {1, 2, 3, 4}
multiset2 = {5, 6, 7, 8}
multiset1.swap(multiset2);
Output : multiset1 = {5, 6, 7, 8}
multiset2 = {1, 2, 3, 4}
Input : multiset1 = {'a', 'b', 'c', 'd'}
multiset2 = {'w', 'x', 'y', 'z'}
multiset1.swap(multiset2);
Output : multiset1 = {'w', 'x', 'y', 'z'}
multiset2 = {'a', 'b', 'c', 'd'}
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
multiset< int > multiset1{ 1, 2, 3, 4 };
multiset< int > multiset2{ 5, 6, 7, 8 };
multiset1.swap(multiset2);
cout << "multiset1 = ";
for ( auto it = multiset1.begin();
it != multiset1.end(); ++it)
cout << ' ' << *it;
cout << endl
<< "multiset2 = ";
for ( auto it = multiset2.begin();
it != multiset2.end(); ++it)
cout << ' ' << *it;
return 0;
}
|
Output:
multiset1 = 5 6 7 8
multiset2 = 1 2 3 4
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
multiset<string> multiset1{ "Geeksforgeeks" };
multiset<string> multiset2{ "Computer science", "Portal" };
multiset1.swap(multiset2);
cout << "multiset1 = ";
for ( auto it = multiset1.begin();
it != multiset1.end(); ++it)
cout << ' ' << *it;
cout << endl
<< "multiset2 = ";
for ( auto it = multiset2.begin();
it != multiset2.end(); ++it)
cout << '
|
Output:
multiset1 = Computer science portal
multiset2 = Geeksforgeeks
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
multiset< char > multiset1{ 'A' , 'B' , 'C' };
multiset< char > multiset2{ 'G' , 'H' , 'I' };
multiset1.swap(multiset2);
cout << "multiset1 = ";
for ( auto it = multiset1.begin();
it != multiset1.end(); ++it)
cout << ' ' << *it;
cout << endl
<< "multiset2 = ";
for ( auto it = multiset2.begin();
it != multiset2.end(); ++it)
cout << ' ' << *it;
re
|
Output:
multiset1 = G H I
multiset2 = A B C
Time complexity: Constant
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...