Learn

Let’s remind ourselves of the pseudo-code for our selection sort algorithm:

selectionSort(array)
 repeat (size - 1) times
  start at the beginning index of the unsorted sub-list as the current minimum
    walk through all elements of the unsorted sub-list to find the index of the smallest element and set as current minimum
  swap that element with the first element in the unsorted sub-list. That element is now part of the sorted sublist
end selectionSort

In this implementation of selection sort, we will write a for loop that runs the length of the input array minus 1.

Step 1: Inside of the for loop we will set the current minimum index to the first position of the unsorted sub-list.
Step 2: We will look through the remainder of the unsorted sub-list to find the actual minimum index.
Step 3: We will swap the actual minimum index value with the first unsorted position and now consider that position as part of the sorted sub-list.
Step 4: We move on to the next unsorted item in the array and repeat steps 2 and 3.
Step 5: We will continue to do this until we arrive at the last element in the list.

For this exercise, we will focus on the outer for loop iterating through our input array and setting the currentMinimumIndex.

selectionSort(array)
...
 repeat (size - 1) times
  start at the beginning index of the unsorted sub-list as the current minimum
   ...
end selectionSort

Instructions

1.

Inside of our selectionSort() function, create a variable size of type int and set to the length of our input array.

2.

To start sorting, we need to write a for loop that begins with a counter, i, initialized to 0.

If we have a list of size 5, we know that we need to find the smallest value 4 times (the 5th smallest value will already be sorted by default). Therefore, we want our outer for loop to run 4 times. Since our loop counter is starting at 0, we want it to end once it gets to 4. The condition is therefore i < size - 1.

3.

Inside of our for loop, create a variable currentMinimumIndex of type int and assign it the value of i. Ultimately, we want to find the location of the smallest value in our unsorted sub-list and assign it to currentMinimumIndex.

Take this course for free

By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.
Already have an account?