forward_list::swap() in C++ STL
Last Updated :
26 Jul, 2018
The forward_list::swap() is a built-in function in CPP STL which exchanges the contents of the first given forward_list with another forward_list.
Syntax:
swap(forward_list first, forward_list second)
or
forward_list1.swap(forward_list second)
Parameters: The function accepts two parameters which are specified as below:
- first – The first forward_list
- second – The second forward_list
Return value:The function does not return anything. It swaps both the lists.
Below programs demonstrate the function mentioned above:
Program 1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
forward_list< int > firstlist = { 9, 8, 7, 6 };
forward_list< int > secondlist = { 10, 20, 30 };
cout << "Before swap operation firstlist was: " ;
for ( auto it = firstlist.begin(); it != firstlist.end(); ++it)
cout << *it << " " ;
cout << "\nBefore swap operation secondlist was: " ;
for ( auto it = secondlist.begin(); it != secondlist.end(); ++it)
cout << *it << " " ;
swap(firstlist, secondlist);
cout << "\n\nAfter swap operation firstlist is: " ;
for ( auto it = firstlist.begin(); it != firstlist.end(); ++it)
cout << *it << " " ;
cout << "\nAfter swap operation secondlist is:" ;
for ( auto it = secondlist.begin(); it != secondlist.end(); ++it)
cout << *it << " " ;
return 0;
}
|
Output:
Before swap operation firstlist was: 9 8 7 6
Before swap operation secondlist was: 10 20 30
After swap operation firstlist is: 10 20 30
After swap operation secondlist is:9 8 7 6
Program 2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
forward_list< int > firstlist = { 9, 8, 7, 6 };
forward_list< int > secondlist = { 10, 20, 30 };
cout << "Before swap operation firstlist was: " ;
for ( auto it = firstlist.begin(); it != firstlist.end(); ++it)
cout << *it << " " ;
cout << "\nBefore swap operation secondlist was: " ;
for ( auto it = secondlist.begin(); it != secondlist.end(); ++it)
cout << *it << " " ;
firstlist.swap(secondlist);
cout << "\n\nAfter swap operation firstlist is: " ;
for ( auto it = firstlist.begin(); it != firstlist.end(); ++it)
cout << *it << " " ;
cout << "\nAfter swap operation secondlist is:" ;
for ( auto it = secondlist.begin(); it != secondlist.end(); ++it)
cout << *it << " " ;
return 0;
}
|
Output:
Before swap operation firstlist was: 9 8 7 6
Before swap operation secondlist was: 10 20 30
After swap operation firstlist is: 10 20 30
After swap operation secondlist is:9 8 7 6
Share your thoughts in the comments
Please Login to comment...