Open In App

Reversing a vector using a for loop?

In this article, we will discuss how to reverse a vector using a for loop with its working example in the R Programming Language using R for loop. Reversing the order of elements in a vector is a common operation in programming, often required for various tasks. One straightforward approach is to use a for loop to iterate through the vector and rearrange the elements in a reversed order. This method provides a fundamental way to achieve the desired outcome without relying on built-in functions. We will explore the steps involved, understand the underlying logic, and provide practical examples to illustrate the concept.

Syntax:

original_vector <- c(...)  # Replace ... with the vector elements
n <- length(original_vector)
for (i in 1:(n/2)) {
  temp <- original_vector[i]
  original_vector[i] <- original_vector[n - i + 1]
  original_vector[n - i + 1] <- temp
}

Example 1:




original_vector <- c(1, 2, 3, 4, 5)
 
n <- length(original_vector)
 
for (i in 1:(n/2)) {
  temp <- original_vector[i]
  original_vector[i] <- original_vector[n - i + 1]
  original_vector[n - i + 1] <- temp
}
 
print(original_vector)

Output:



[1] 5 4 3 2 1

Example: Using a for loop with vector slicing to reverse a vector




# Original vector
original_vector <- c(1, 2, 3, 4, 5)
 
# Calculate the length of the vector
n <- length(original_vector)
 
# Initialize an empty vector to store the reversed elements
reversed_vector <- numeric(n)
 
# Using a for loop to reverse the vector using vector slicing
for (i in 1:n) {
  reversed_vector[i] <- original_vector[n - i + 1]
}
 
# Display the reversed vector
print(reversed_vector)

Output:

[1] 5 4 3 2 1

Example: Using a for loop with indexing




# Original vector
original_vector <- c(5, 10, 15, 20, 25)
 
# Calculate the length of the vector
n <- length(original_vector)
 
# Using a for loop with indexing to reverse the vector
for (i in 1:(n / 2)) {
  temp <- original_vector[i]
  original_vector[i] <- original_vector[n - i + 1]
  original_vector[n - i + 1] <- temp
}
 
# Display the reversed vector
print(original_vector)

Output:



[1] 25 20 15 10  5

Example 4:




original_vector <- c("apple", "banana", "cherry", "date")
 
n <- length(original_vector)
 
for (i in 1:(n/2)) {
  temp <- original_vector[i]
  original_vector[i] <- original_vector[n - i + 1]
  original_vector[n - i + 1] <- temp
}
 
print(original_vector)

Output:

[1] "date"   "cherry" "banana" "apple" 

Article Tags :