Selection Sort

Akshaya BiswalAkshaya Biswal
2 min read

Table of contents

Introduction

  1. Initialization:

    • The function selectionSort accepts an array arr as its argument.

    • The variable n stores the length of the array.

  2. Outer Loop:

    • The outer loop iterates through each element in the array, treating each element as the starting point.
  3. Finding the Minimum:

    • Assume the first element of the unsorted part as the minimum (minIndex = i).

    • The inner loop starts from the next element (j = i + 1) and checks each element to find the smallest one.

    • If a smaller element is found, update minIndex to the index of that element.

  4. Swapping Elements:

    • After finding the minimum element in the unsorted part, swap it with the first element of the unsorted part.

    • Only perform the swap if the minimum element is different from the starting element.

  5. Return the Result:

    • After all elements are processed, the sorted array arr is returned.

Code

function selectionSort(arr) {
  const length = arr.length;

  // Loop through each element in the array
  for (let curr = 0; curr < length; curr++) {
    let minIndex = curr;

    // Check the rest of the array for a smaller element
    for (let next = curr + 1; next < length; next++) {
      if (arr[next] < arr[minIndex]) {
        minIndex = next;
      }
    }

    // Swap the minimum element with current index
    if (curr != minIndex) {
      [arr[curr], arr[minIndex]] = [arr[minIndex], arr[curr]];
    }
  }

  return arr;
}

console.log(selectionSort([20, 12, 10, 15, 2]));
0
Subscribe to my newsletter

Read articles from Akshaya Biswal directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Akshaya Biswal
Akshaya Biswal

Developer by day, globe-trotter by choice. Whether fixing bugs in the mountains or optimizing on the beach, each journey enhances both my code and life.๐ŸŒโœˆ๏ธ