Related Articles

# multiset::swap() in C++ STL

• Last Updated : 19 Jan, 2018

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 ``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 ``using` `namespace` `std;`` ` `int` `main()``{``    ``// Take any two multisets``    ``multiset multiset1{ ``"Geeksforgeeks"` `};`` ` `    ``multiset multiset2{ ``"Computer scince"``, ``"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 ``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

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up