Open In App

C++ Program to Swap Two Numbers

Last Updated : 02 Jul, 2024
Comments
Improve
Suggest changes
Like Article
Like
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.



Next Article
Practice Tags :

Similar Reads