Skip to content
Related Articles

Related Articles

forward_list::swap() in C++ STL

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 26 Jul, 2018
View Discussion
Improve Article
Save Article

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:




// CPP program that demonstrates the
// forward_list::swap() function
// when two parameters is passed
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // initialising the two forward_list
    forward_list<int> firstlist = { 9, 8, 7, 6 };
  
    forward_list<int> secondlist = { 10, 20, 30 };
  
    // printing elements before the swap operation
    // for firstlist and secondlist
    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 operation on two lists
    swap(firstlist, secondlist);
  
    // printing elements after the swap operation
    // for forward1 and 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:




// CPP program that demonstrates the
// forward_list::swap() function
// when two parameters is passed
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // initialising the two forward_list
    forward_list<int> firstlist = { 9, 8, 7, 6 };
  
    forward_list<int> secondlist = { 10, 20, 30 };
  
    // printing elements before the swap operation
    // for firstlist and secondlist
    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 operation on two lists
    firstlist.swap(secondlist);
  
    // printing elements after the swap operation
    // for forward1 and 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

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!