×

swap() function in C++

Swap() function:

swap() function in C++:

swap() function is a pre-define function in c++ present in STL( Standard template library ). It is used to swap two numbers. It takes two mandatory parameters, which can be of any data type. swap() function does not return any value.

Syntax of  swap() function c++:

swap(a, b);

a and b can be any type.

Advantages of swap() function:

  1. No need for a third variable.
  2. swap function will reduce lines of code.
  3. Memory is saved.

Example program to swap two numbers using swap function.

// C++ program for swapping of two numbers using swap() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
  int x, y;
  cout << " Enter the value of x: " ;
  cin >> x; // reading x value
  cout << " Enter the value of y: " ;
  cin >> y; // reading y value
// printing the values before swapping 
  cout << "Value of x before swapping: " << x << endl;
  cout << "Value of y before swapping: " << y << endl;
  // swap values of the variables
  swap(x, y); // function call
  // printing the values after swapping
  cout << "Value of x after swapping: " << x << endl;
  cout << "Value of y after swapping: " << y << endl;
  return 0;
}

Output:

Enter the value of x: 50
Enter the value of y: 60
Value of x before swapping: 50
Value of y before swapping: 60
Value of x after swapping: 60
Value of y after swapping: 50

Example program to swap two strings using swap() function in C++:

// program to swap two strings using swap() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
  string str1, str2; // declaring the strings
  cout << " Enter the string str1: " ;
  cin >> str1;  // reading str1
  cout << " Enter the string str2: " ;
  cin >> str2;  // reading str2
// printing the strings before swapping
  cout << " str1 string before swapping: " << str1 << endl;
  cout << " str2 string before swapping: " << str2 << endl;
  // swapping two strings
  swap(str1, str2); // function call
  // printing  the strings after swapping 
  cout << "str1 string before swapping: " << str1 << endl;
  cout << "str2 string before swapping: "<< str2 << endl;
  return 0;
}

Output:

Enter the string str1: JavaTpoint
Enter the string str2: Tutorials
str1 string before swapping: JavaTpoint
 str2 string before swapping: Tutorials
str1 string After swapping: Tutorials
str2 string After swapping: JavaTpoint

swap() function in C:

In C, we don't have any in-Build function to swap two numbers. User have to create the function to swap two numbers.

In C, we can swap two variables by taking the third variable, addition and subtraction, division etc. After creating a function, we can call that function in two ways.

  1. Call by value.
  2. Call by reference.

Example to create a swap function and call the function using call by value technique.

// C program to swap two numbers using third variable
#include<stdio.h>
int main()
{
    int x, y, temp;
    printf("Enter the Value of x: ");
    scanf("%d", &x);
    printf("\nEnter the Value of y: ");
    scanf("%d", &y);
    temp = x;
    x = y;
    y = temp;
    printf("\nAfter Swapping: x = %d", x);
    printf("\nAfter Swapping: y = %d, y);
    return 0;
}

Output:

Enter the value of x: 50
Enter the value of y: 60
After Swapping x = 60
After Swapping y = 50

Example program to swap two numbers in C using user define function:

// C program to swap two variables using third variable
#include <stdio.h>
void swap( int *a, int *b);
// This function swaps values by call by reference
int main()
{
  int x, y;
  printf(" Enter a value: ");
  scanf("%d", &x);
  printf("\nEnter b value: ");
  scanf("%d", &y);
  swap(&x, &y);
  printf(" \nAfter Swapping: x = %d", x);
  printf(" \nAfter Swapping: y = %d", y);
  return 0;
}
void swap(int *a, int *b)
{
  int temp = *a;
  *a = *b;
  *b = temp;
}

Output:

Enter a value: 100
Enter b value: 500
After Swapping: x = 500 
After Swapping: y = 100

Example program to swap two numbers without using third variable( addition and subtraction method)

// C program to swap two numbers without using a third variable
#include <stdio.h>
int main()
{
  int x, y; // variable declaration
  printf("Enter the x value: ");
  scanf(" %d", &x); // reading x value
  printf("Enter the y value: ");
  scanf(" %d", &y); // reading y value
  printf(" value of x Before swapping is: %d \nvalue of y before swapping is: %d ", x,y); //printing numbers before swapping
  // swapping logic starts
  x = x + y;
  y = x - y;
  x = x - y;
  printf(" \nvalue of x After swapping is: %d \nvalue of y After swapping is: %d ", x,y); //printing numbers after swapping
  return 0;
}

Output:

Enter the x value: 96
Enter the y value: 78
value of x Before swapping is: 96
value of y before swapping is: 78 
value of x After swapping is: 78
value of y After swapping is: 96

Example program to swap two numbers without using a third variable( using bitwise XOR operator)

// C program to swap two numbers without using a third variable
#include <stdio.h>
int main()
{
  int x, y; // variable declaration
  printf("Enter the x value: ");
  scanf(" %d", &x); // reading x value
  printf("  \nEnter the y value: ");
  scanf(" %d", &y); // reading y value
  printf(" value of x Before swapping is: %d \nvalue of y before swapping is: %d ", x,y); //printing numbers before swapping
  // swapping logic starts 
  x=x^y;
  y=x^y;
  x=y^x;
  printf(" \nvalue of x After swapping is: %d \nvalue of y After swapping is: %d ", x,y); //printing numbers after swapping
  return 0;
}

Output:

Enter the x value: 78
Enter the y value: 36
value of x Before swapping is: 78
value of y before swapping is: 36 
value of x After swapping is: 36
value of y After swapping is: 78

Example program to swap two numbers without using a third variable( by multiplication and division method)

// C program to swap two numbers without using a third variable
#include <stdio.h>
int main()
{
  int x, y; // variable declaration
  printf("Enter the x value: ");
  scanf(" %d", &x); // reading x value
  printf("Enter the y value: ");
  scanf(" %d", &y); // reading y value
  printf(" value of x Before swapping is: %d \nvalue of y before swapping is: %d ", x,y); //printing numbers before swapping
  // swapping logic starts 
  x=x*y;
  y=x/y;
  x=x/y;
  printf(" \nvalue of x After swapping is: %d \nvalue of y After swapping is: %d ", x,y); //printing numbers after swapping
  return 0;
}

Output:

Enter the x value: 36
Enter the y value: 98
value of x Before swapping is: 36
value of y before swapping is: 98 
value of x After swapping is: 98
value of y After swapping is: 36

Example program to swap two numbers without using a third variable:

// C program to swap two numbers without using a third variable
#include <stdio.h>
int main()
{
  int x, y; // variable declaration
  printf("Enter the x value: ");
  scanf(" %d", &x); // reading x value
  printf("Enter the y value: ");
  scanf(" %d", &y); // reading y value
  printf(" value of x Before swapping is: %d\nvalue of y before swapping is: %d", x,y); //printing numbers before swapping
  // swapping logic starts 
  x = (x * y) / (y = x);
  printf(" \nvalue of x After swapping is: %d\nvalue of y After swapping is: %d", x,y); //printing numbers after swapping
  return 0;
}

Output:

Enter the x value: 20
Enter the y value: 30
value of x Before swapping is: 20
value of y before swapping is: 30 
value of x After swapping is: 30
value of y After swapping is: 20

Summary:

For all the above examples, the time and space Complexity are

  • Time complexity: O(1)
  • Space complexity: O(1)

In this article, we learned about the swapping of two numbers, advantages of swap function in c++, applications of swapping algorithm, swap function in c++, examples of swapping two numbers in c and c++, different swapping algorithm approaches, Time and space complexity of swapping algorithm.


Related Topics

How to create the Processes with Fork in C++

 In this article, we are going to explain the different methods that help us to create processes with a fork(). There are two methods to do so. These methods are...

2 minutes read.

C++ If

C++ Control Statement C++ control statement or decision-making statement is used to control the flow of program statement according to condition applied. C++ if Control Statement An if control statement in C++ is used to...

2 minutes read.

CPP Templates

C++ provides a powerful feature called template, which allows the definition of generic classes and generic functions. Generic programming is a technique where different algorithms work in communion by using...

4 minutes read.

C++ STL (Standard Template Library)

Introduction C++ is a flexible type and general proposed programming language. So we need a standard library that supports C++. C++ STL (Standard Template Library) is a collection of templates that...

6 minutes read.

Vector Size in C++

What are Vectors?  In the C++ programming language, vectors are run-time sequence containers representing arrays with variable sizes, which are contained within STL (Standard Template Library). They utilize contiguous storage spaces...

6 minutes read.

C++ First Program

Let's write a simple basic program structure of C++, its compilation and its execution (how it runs). This program is compiled using GCC compiler. Open any editor to write C++ program. #include<iostream>   using namespace std;   int main(){       cout<<"Welcome to C++ program"<<endl;   } Output...

2 minutes read.

C++ Identifier

In a program, C++ identifiers relate to the names of variables, functions, arrays, and other user-defined data types that the programmer has developed. They are a prerequisite for learning any...

4 minutes read.

C++ Iterators

What are iterators ? Iterators are among the four foundations of the C++ Standard Template Library, also known as the STL. The memory address of the STL container classes is pointed...

15 minutes read.

Two dimension array

C++ Two dimension (2D) Array Two dimension (2D) array is an array of arrays. It is represented in the form of row and column. The elements of 2D array are accessed through the...

2 minutes read.

fscanf() Function in the C++

In the C++ programming language, the fscanf() method can be used to read data from a file stream. Syntax: The syntax for the fscanf() function in the C++ programming language is as...

3 minutes read.

C++ | C Plus Plus While loop

In this article, we will discuss the C++ while loop with its syntax, use, key features, key points, pseudo code, and examples. What is the While Loop? The “while loop” is a...

4 minutes read.

Structure Vs Class in C++

The structure in C++ is similar to that of a class, with a few exceptions. Both the structure and the stage, the most important thing is safety. The property is...

4 minutes read.

C++ Output Iterators

Iterators : Iterators serve as a link between algorithms and STL containers, allowing the data inside the container to be modified. They let you to iterate through the container, access and...

4 minutes read.

C++ Recursion Function

A programming method called recursion that uses a function to call itself to address lesser problems. The Fibonacci sequence, factorial computation, and tree traversal are just a few of the...

4 minutes read.

Timsort Implementation Using C++

Timsort Implementation Using C++ The Timsort is a stable sorting algorithm that uses the idea of merge sort and insertion sort. It can also be called a hybrid algorithm of insertion...

3 minutes read.

How to create a table in C++

C++ is a programming language that has evolved as an improvement of c language. It includes an object-oriented archetype. C++ programming language is a compiled language that complies with the...

3 minutes read.

Inheritance in C++ vs Java

Just like we inherit traits from our parents, object-oriented programming has a concept called inheritance. In terms of object-oriented programming, a class's traits and behaviours, or its data and methods,...

4 minutes read.

Differences Between C Structures and C++ Structures

The below table clearly describes the differences between C and C++ programming languages Structures concepts where the core principle concepts like static members, data handling, pointers, access modifiers, the importance...

3 minutes read.

Binary to Decimal in C++

We must create a software to convert a binary number into an equivalent decimal value given a binary number as input. Example: // C++ program to convert binary to decimal #include < iostream...

3 minutes read.

The Stock Span Problem

It is necessary to determine the span of a stock's price throughout all n days in order to solve the stock span problem, which involves a set of n daily...

5 minutes read.