C++ Program to Swap Two Numbers
Last Updated :
21 Sep, 2023
Swapping numbers is the process of interchanging their values. In this article, we will learn algorithms and code to swap two numbers in the C++ programming language.
1. Swap Numbers Using a Temporary Variable
We can swap the values of the given two numbers by using another variable to temporarily store the value as we swap the variables’ data. The below algorithm shows how to use the temporary variable to swap values.
Algorithm
- Assign a to a temp variable: temp = a
- Assign b to a: a = b
- Assign temp to b: b = temp
C++ Program to Swap Two Numbers using a Temporary Variable.
C++
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a = 2, b = 3;
cout << "Before swapping a = " << a << " , b = " << b
<< endl;
int temp;
temp = a;
a = b;
b = temp;
cout << "After swapping a = " << a << " , b = " << b
<< endl;
return 0;
}
|
Output
Before swapping a = 2 , b = 3
After swapping a = 3 , b = 2
Complexity Analysis
- Time Complexity: O(1) as only constant operations are done.
- Space Complexity: O(1) as no extra space has been used.
2. Swap Numbers Without Using a Temporary Variable
We can also swap numbers without using the temporary variable. Unlike the previous method, we use some mathematical operations to swap the values.
Algorithm
- Assign to b the sum of a and b i.e. b = a + b.
- Assign to a difference of b and a i.e. a = b – a.
- Assign to b the difference of b and a i.e. b = b – a.
C++ Program to Swap Two Numbers Without Using a Temporary Variable.
C++
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a = 2, b = 3;
cout << "Before swapping a = " << a << " , b = " << b
<< endl;
b = a + b;
a = b - a;
b = b - a;
cout << "After swapping a = " << a << " , b = " << b
<< endl;
return 0;
}
|
Output
Before swapping a = 2 , b = 3
After swapping a = 3 , b = 2
Complexity Analysis
- Time Complexity: O(1), as only constant time operations are done.
- Space Complexity: O(1), as no extra space has been used.
3. Swap Two Numbers Using Inbuilt Function
C++ Standard Template Library (STL) provides an inbuilt swap() function to swap two numbers.
Syntax of swap()
swap(a, b);
where a and b are the two numbers.
C++ Program to Swap Two Numbers Using the Inbuilt swap() Function.
C++
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a = 5, b = 10;
cout << "Before swapping a = " << a << " , b = " << b
<< endl;
swap(a, b);
cout << "After swapping a = " << a << " , b = " << b
<< endl;
return 0;
}
|
Output
Before swapping a = 5 , b = 10
After swapping a = 10 , b = 5
Complexity Analysis
- Time Complexity: O(1) as only constant operations are done.
- Space Complexity: O(1) as no extra space has been used.
Refer to the complete article How to swap two numbers without using a temporary variable? for more methods to swap two numbers.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...