Open In App

multiset::swap() in C++ STL

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'}




// INTEGER MULTISET EXAMPLE
// CPP program to illustrate
// Implementation of swap() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Take any two multisets
    multiset<int> multiset1{ 1, 2, 3, 4 };
    multiset<int> multiset2{ 5, 6, 7, 8 };
 
    // Swap elements of multisets
    multiset1.swap(multiset2);
 
    // Print the first multi set
    cout << "multiset1 = ";
    for (auto it = multiset1.begin();
         it != multiset1.end(); ++it)
        cout << ' ' << *it;
 
    // Print the second multiset
    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




// STRING MULTISET EXAMPLE
// CPP program to illustrate
// Implementation of swap() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Take any two multisets
    multiset<string> multiset1{ "Geeksforgeeks" };
 
    multiset<string> multiset2{ "Computer science", "Portal" };
 
    // Swap elements of multisets
    multiset1.swap(multiset2);
 
    // Print the first multi set
    cout << "multiset1 = ";
    for (auto it = multiset1.begin();
         it != multiset1.end(); ++it)
        cout << ' ' << *it;
 
    // Print the second multiset
    cout << endl
         << "multiset2 = ";
    for (auto it = multiset2.begin();
         it != multiset2.end(); ++it)
        cout << '

Output:

multiset1 =  Computer science portal
multiset2 =  Geeksforgeeks




// CHARACTER MULTISET EXAMPLE
// CPP program to illustrate
// Implementation of swap() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    // Take any two multisets
    multiset<char> multiset1{ 'A', 'B', 'C' };
    multiset<char> multiset2{ 'G', 'H', 'I' };
 
    // Swap elements of multisets
    multiset1.swap(multiset2);
 
    // Print the first multi set
    cout << "multiset1 = ";
    for (auto it = multiset1.begin();
         it != multiset1.end(); ++it)
        cout << ' ' << *it;
 
    // Print the second multiset
    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


Article Tags :
C++