└── Insertion_Sort.py /Insertion_Sort.py: -------------------------------------------------------------------------------- 1 | def insertion_sort(array): 2 | count = 0 3 | for i in range(1, len(array)): 4 | print(array) 5 | last_sorted_position = array[i-1] 6 | count += 1 7 | if array[i] < last_sorted_position: 8 | temp = array[i] 9 | for j in range(i-1,-1,-1): 10 | count += 1 11 | if temp < array[j]: 12 | if j == 0: 13 | array[j+1] = array[j] 14 | array[j] = temp 15 | else: 16 | array[j+1] = array[j] 17 | else: 18 | array[j+1] = temp 19 | break 20 | return (f'{array} \nNumber of comparisons = {count}') 21 | 22 | array = [5,9,3,10,45,2,0] 23 | print(insertion_sort(array)) 24 | 25 | 26 | sorted_array = [5,6,7,8,9] 27 | print(insertion_sort(sorted_array)) 28 | 29 | reverse_sorted_array = [9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10] 30 | print(insertion_sort(reverse_sorted_array)) 31 | --------------------------------------------------------------------------------