Open In App

Selection Sort - Python

Last Updated : 12 Nov, 2025
Comments
Improve
Suggest changes
60 Likes
Like
Report

Selection Sort is one of the simplest comparison-based sorting algorithms. It sorts an array by repeatedly finding the smallest (or largest) element from the unsorted portion and placing it in its correct position.

Working of Selection Sort

  1. Start from the first element and find the smallest element in the entire array by iterating over it.
  2. Swap this smallest element with the first element.
  3. Now, move to the second element find the next smallest in the remaining unsorted portion and swap it with the second position.
  4. Repeat this process until the entire array becomes sorted.

Python Implementation

Python
def selectionSort(array, size):
    for ind in range(size):
        min_index = ind

        for j in range(ind + 1, size):
            if array[j] < array[min_index]:
                min_index = j

        array[ind], array[min_index] = array[min_index], array[ind]

arr = [-2, 45, 0, 11, -9, 88, -97, -202, 747]
size = len(arr)
selectionSort(arr, size)

print(arr)

Output
[-202, -97, -9, -2, 0, 11, 45, 88, 747]

Explanation:

  • for ind in range(size) (Outer loop): Iterates through each index, treating it as the start of the unsorted portion.
  • min_index = ind: Assumes the current index holds the smallest element.
  • for j in range(ind + 1, size) (Inner loop): Finds the index of the minimum element in the unsorted part of the array.
  • if array[j] < array[min_index]: Updates min_index whenever a smaller element is found.
  • Swap step: Exchanges the smallest found element with the first element of the unsorted section.

Explore