Skip to content
Related Articles

Related Articles

forward_list::swap() in C++ STL
  • Difficulty Level : Basic
  • Last Updated : 26 Jul, 2018
GeeksforGeeks - Summer Carnival Banner

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
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
Recommended Articles
Page :