Algorithm Swap Function

C++ Algorithm swap function swaps or say interchanges the values of two containers under reference.

Syntax

Example

template<class T> void swap(T& a, T& b);

Parameter

a : It is the first container with some value.

b : It is another container with some value.

Return value

The function only swaps the values of two containers and does not return something.

Example 1

Example

#include <iostream> 

#include <algorithm>

#include <vector>   

int main () 

{

  int a=14, b=9;

  std::swap(a,b);

  std::vector<int> sg (4,a), ss (6,b);      

  std::swap(sg,ss);                          

  std::cout << "sg contains:";

  for (std::vector<int>::iterator ti=sg.begin(); ti!=sg.end(); ti++)

    std::cout << ' ' << *ti;

  std::cout << '\n';

  return 0;

}

Output:

Output

sg contains: 14 14 14 14 14 14

Example 2

Example

#include <bits/stdc++.h>

using namespace std;

int main()

{

	int ss = 9;

	int sg = 14;

	cout << "Value of ss before swapping: " << ss << endl;

	cout << "Value of sg before swapping: " << sg << endl;

	swap(ss, sg);

	cout << "Value of ss after swapping: " << ss << endl;

	cout << "Value of sg after swapping: " << sg << endl;

	return 0;

}

Output:

Output

Value of ss before swapping: 9

Value of sg before swapping: 14

Value of ss after swapping: 14

Value of sg after swapping: 9

Complexity

For arrays the function has N complexity as the operation of swapping is individually performed on each element. For non array the function has constant complexity.

Data races

Both the containers are undergo modification

Exceptions

The function throws an exception if any of the container elements throws one.

Input Required

This code uses input(). Please provide values below: