Insertion Sort Python (original) (raw)

Last Updated : 21 Feb, 2025

**Insertion sort is a simple sorting algorithm that works by iteratively inserting each element of an unsorted list into its correct position in a sorted portion of the list.

Insertion-sorting

Insertion Sort

The provided example demonstrates the sorting process using the insertion sort algorithm. The initial array [12, 11, 13, 5, 6] is subjected to the insertionSort function. After sorting, the array should be [5, 6, 11, 12, 13]. The code prints the sorted array as the final output.

Python `

def insertionSort(arr): n = len(arr) # Get the length of the array

if n <= 1:
    return  # If the array has 0 or 1 element, it is already sorted, so return

for i in range(1, n):  # Iterate over the array starting from the second element
    key = arr[i]  # Store the current element as the key to be inserted in the right position
    j = i-1
    while j >= 0 and key < arr[j]:  # Move elements greater than key one position ahead
        arr[j+1] = arr[j]  # Shift elements to the right
        j -= 1
    arr[j+1] = key  # Insert the key in the correct position

Sorting the array [12, 11, 13, 5, 6] using insertionSort

arr = [12, 11, 13, 5, 6] insertionSort(arr) print(arr)

`

**Output:

Sorted array is:
[5, 6, 11, 12, 13]

**Time Complexity: O(N2)
**Auxiliary Space: O(1)

Please refer complete article on Insertion Sort for more details!

Similar Reads

Basic Programs







Array Programs








List Programs







Matrix Programs









String Programs







Dictionary Programs







Tuple Programs







Searching and Sorting Programs







Pattern Printing Programs