C++ List Library - swap() Function



Description

The C++ function std::list::swap() exchanges the contents of the first list with another. This function changes size of list if necessary.

Declaration

Following is the declaration for std::list::swap() function form std::list header.

C++98

template <class T, class Alloc>
void swap (list<T,Alloc>& first, list<T,Alloc>& second);

Parameters

  • first − First list object.

  • second − Second list object.

Return value

None.

Exceptions

This function never throws exception.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::list::swap() function.

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l1 = {1, 2, 3};
   list<int> l2 = {10, 20, 30, 40, 50};

   cout << "List l1 contains following elements before swap operation" << endl;
   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   cout << "List l2 contains following elements before swap operation" << endl;
   for (auto it = l2.begin(); it != l2.end(); ++it)
      cout << *it << endl;

   swap(l1, l2);

   cout << "List l1 contains following elements after swap operation" << endl;
   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   cout << "List l2 contains following elements after swap operation" << endl;
   for (auto it = l2.begin(); it != l2.end(); ++it)
      cout << *it << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

List l1 contains following elements before swap operation
1
2
3
List l2 contains following elements before swap operation
10
20
30
40
50
List l1 contains following elements after swap operation
10
20
30
40
50
List l2 contains following elements after swap operation
1
2
3
list.htm
Advertisements