There are many ways to swap two numbers without using a third variable.
The arithmetic operators for addition and subtraction can be used to perform the swap without using a third variable.
#include <iostream>using namespace std;int main(){int x = 10, y = 50;x = x + y; // x = 60y = x - y; // y = 10x = x - y; // x = 50cout << "After Swapping: x = " << x << ", y = " << y;}
Similarly, multiplication and division can be used to perform the swap without using the third variable.
#include <iostream>using namespace std;int main(){int x = 10, y = 50;x = x * y; // x = 500y = x / y; // y = 10x = x / y; // x = 50cout << "After Swapping: x = " << x << ", y = " << y;}
The result of the bitwise XOR operator is if the corresponding bits of two operands are opposite. It is denoted by ^
.
#include <iostream>using namespace std;int main(){int x = 10, y = 50;x = x ^ y;y = x ^ y;x = x ^ y;cout << "After Swapping: x = " << x << ", y = " << y;}
Free Resources