Open In App

C++ Program to Swap Two Numbers

Last Updated : 21 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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.

swap two numbers in c++

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

  1. Assign a to a temp variable: temp = a
  2. Assign b to a: a = b
  3. Assign temp to b: b = temp

C++ Program to Swap Two Numbers using a Temporary Variable.

C++




// C++ program to swap two
// numbers using 3rd variable
#include <bits/stdc++.h>
using namespace std;
 
// Driver code
int main()
{
    int a = 2, b = 3;
 
    cout << "Before swapping a = " << a << " , b = " << b
         << endl;
 
    // temporary variable
    int temp;
 
    // appying swapping algorithm
    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

  1. Assign to b the sum of a and b i.e. b = a + b.
  2. Assign to a difference of b and a i.e. a = b – a.
  3. 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++




// C++ program to swap two
// numbers without using 3rd
// variable
#include <bits/stdc++.h>
using namespace std;
 
// Driver code
int main()
{
    int a = 2, b = 3;
 
    cout << "Before swapping a = " << a << " , b = " << b
         << endl;
 
    // applying algorithm
    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++




// C++ program to swap two
// numbers using swap()
// function
#include <bits/stdc++.h>
using namespace std;
 
// Driver code
int main()
{
    int a = 5, b = 10;
 
    cout << "Before swapping a = " << a << " , b = " << b
         << endl;
 
    // Built-in swap function
    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
Previous
Next
Share your thoughts in the comments

Similar Reads