R Program to Implement Bubble Sort

1. Introduction

Bubble Sort is one of the simplest sorting algorithms. The basic idea is to repeatedly step through the list, compare adjacent elements, and swap them if they are in the wrong order. The algorithm gets its name because with each complete pass, the largest element "bubbles" to its correct position at the end of the list. In this guide, we will implement the Bubble Sort algorithm in R.

2. Program Overview

The program will:

1. Define a function for the Bubble Sort algorithm.

2. Create a vector with a series of numbers.

3. Use the Bubble Sort function to sort the vector.

4. Display the sorted vector.

3. Code Program

# Define the Bubble Sort function
bubbleSort <- function(vec) {
  n <- length(vec)

  # Outer loop for passes
  for (i in 1:(n-1)) {

    # Inner loop for comparing adjacent elements
    for (j in 1:(n-i)) {

      # Swap if the elements are in the wrong order
      if (vec[j] > vec[j+1]) {
        temp <- vec[j]
        vec[j] <- vec[j+1]
        vec[j+1] <- temp
      }
    }
  }

  # Return the sorted vector
  return(vec)
}

# Create a vector
numbers <- c(56, 12, 89, 45, 23, 24)

# Sort the vector using Bubble Sort
sorted_numbers <- bubbleSort(numbers)

# Display the sorted vector
cat("Sorted vector using Bubble Sort:", sorted_numbers, "\n")

Output:

Sorted vector using Bubble Sort: 12 23 24 45 56 89

4. Step By Step Explanation

1. We start by defining the bubbleSort function. This function takes a vector as its input and sorts it using the Bubble Sort algorithm.

2. The length of the vector is determined using the length function.

3. The outer loop represents the number of passes required to sort the entire list. The inner loop is where the adjacent element comparisons and possible swaps occur.

4. Within the inner loop, if an element vec[j] is greater than its adjacent element vec[j+1], we swap them. This ensures that at the end of each pass, the largest unsorted element "bubbles up" to its correct position.

5. After the sorting is complete, the function returns the sorted vector.

6. We then create a vector called "numbers" and use the bubbleSort function to sort it.

7. Lastly, the sorted vector is displayed using the cat function.

Comments