R Examples

R - Swap two numbers



There are two common ways to swap the value of two variables:

  • Swap the value of two variables using a temporary variable
  • Swap the value of two variables without using temporary variable

Method 1: Swap the value of two variables using a temporary variable

In the example below, the initial value of variables x and y are 10 and 25. A temporary variable called temp is created to store the value of x and then the value of y is assigned to x. Finally, value of temp (which stores values of x) is assigned to variable y. The final value of variables x and y after swap are 25 and 10 respectively.

swap <- function(x, y) {
  cat("Before Swap:\n")
  cat("x =", x, "\n")
  cat("y =", y, "\n")

  #Swap technique
  temp <- x
  x <- y
  y <- temp

  cat("After Swap:\n")
  cat("x =", x, "\n")
  cat("y =", y, "\n") 
}

swap(10, 25)

The above code will give the following output:

Before Swap:
x = 10 
y = 25 
After Swap:
x = 25 
y = 10 

Method 2: Swap the value of two variables without using temporary variable

+ operator is used to swap the value of two variables. In this method no temporary variable is used. See the example below for syntax.

swap <- function(x, y) {
  cat("Before Swap:\n")
  cat("x =", x, "\n")
  cat("y =", y, "\n")

  #Swap technique
  x <- x + y
  y <- x - y
  x <- x - y

  cat("After Swap:\n")
  cat("x =", x, "\n")
  cat("y =", y, "\n") 
}

swap(10, 25)

The above code will give the following output:

Before Swap:
x = 10 
y = 25 
After Swap:
x = 25 
y = 10 

Similarly, others operators can also be used in this method. Please see the page: R - Swap two numbers without using Temporary Variable.