How to swap two numbers without using a third variable

There are many ways to swap two numbers without using a third variable.

1. Using arithmetic operators

Swapping two variables without using a third variable.
Swapping two variables 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 = 60
y = x - y; // y = 10
x = x - y; // x = 50
cout << "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 = 500
y = x / y; // y = 10
x = x / y; // x = 50
cout << "After Swapping: x = " << x << ", y = " << y;
}

2. Using Bitwise XOR

The result of the bitwise XOR operator is 11 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

Copyright ©2024 Educative, Inc. All rights reserved