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;