c++ stl swap code example

Example 1: what is time complexity of swap function

The Behaviour is Equivalent to: 

template <class T> void swap ( T& a, T& b )
{
  T c(a); a=b; b=c;
}

Syntax : Swap(a,b) // a = Number 1 , b = Number 2

Time Complexity: It makes one constructions and one assignments
				 So, Linear O(n) time.

Example 2: swap in cpp

int a{}, b{}, temp{};
cin >> a >> b;

  //===================== METHOD-1
   temp = a;
   a = b;
   b = temp;

  //===================== METHOD-2 ( XOR ^ )
  // example: a^b =  5^7
   a = a ^ b;   // 5^7
   b = a ^ b;   // 5 ^ 7 ^ 7  //5 ( 7 & 7 dismissed)
   a = a ^ b;   // 5 ^ 7 ^ 5  //7 ( 5 & 5 dismissed)

  //===================== METHOD-3  ( swap() )
  swap(a, b);

  cout << "a " << a << endl;
  cout << "b " << b << endl;

Tags:

Cpp Example