Skip to main content
1 of 3
Elbasel
  • 642
  • 3
  • 11

Insertion Sort Implementation Efficiency

Is my approach to insertion Sort in Python efficient?

What can be improved efficiency wise?

def insertion_sort(array):
    sorted_array = []  
    
    for elem in array:
        insertion_index = len(sorted_array) #indert we
        for elem_sorted in sorted_array:
            if elem_sorted > elem:
                insertion_index = sorted_array.index(elem_sorted)
                break
        sorted_array.insert(insertion_index, elem)
    return sorted_array


num_elems = int(input('Number Of Elements?: '))
array = [int(input(f'Enter Number#{i+1}: ')) for i in range(num_elems)]
a = insertion_sort(array)
print(a)
Elbasel
  • 642
  • 3
  • 11