Swift Program to Swap Two Numbers Without Using Temporary Variable

1. Introduction

Swapping values between two variables is a routine task in programming. Typically, a temporary (or third) variable is employed to hold one of the values during the swap. However, there are methods to exchange values without the need for a third variable. In this guide, we will develop a Swift program to swap two numbers without resorting to a temporary variable.

2. Program Overview

Our Swift program aims to interchange the values of two variables. We'll utilize mathematical operations to achieve this swap without the aid of a third variable.

3. Code Program

// Declare two numbers to be swapped
var num1 = 5
var num2 = 7

// Print original values
print("Original values: num1 = \(num1), num2 = \(num2)")

// Swap numbers without using a temporary variable
num1 = num1 + num2
num2 = num1 - num2
num1 = num1 - num2

// Print swapped values
print("Swapped values: num1 = \(num1), num2 = \(num2)")


Original values: num1 = 5, num2 = 7
Swapped values: num1 = 7, num2 = 5

4. Step By Step Explanation

1. var num1 = 5 and var num2 = 7: Here, we initialize two variables, num1 and num2, with the values 5 and 7 respectively.

2. The print statement, print("Original values: num1 = \(num1), num2 = \(num2)"), displays the original values of the two numbers.

3. The swap procedure:

- num1 = num1 + num2: We add num2 to num1 and store the result in num1. After this operation, num1 contains the combined value of the original num1 and num2.

- num2 = num1 - num2: We subtract the original value of num2 from the current value of num1 (which is the combined value). This gives us the original value of num1, which we assign to num2.

- num1 = num1 - num2: We subtract the new value of num2 (which is the original value of num1) from the current value of num1 to get the original value of num2, which we assign back to num1.

4. The final print statement, print("Swapped values: num1 = \(num1), num2 = \(num2)"), displays the values of the two numbers after the swap.