# 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

 `// INTEGER MULTISET EXAMPLE``// CPP program to illustrate``// Implementation of swap() function``#include ``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```

## CPP

 `// STRING MULTISET EXAMPLE``// CPP program to illustrate``// Implementation of swap() function``#include ``using` `namespace` `std;` `int` `main()``{``    ``// Take any two multisets``    ``multiset multiset1{ "Geeksforgeeks" };` `    ``multiset 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```

## CPP

 `// CHARACTER MULTISET EXAMPLE``// CPP program to illustrate``// Implementation of swap() function``#include ``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

My Personal Notes arrow_drop_up