Write a function insertionSort that implements the insertion
Solution
# python code
import sys
import re
def insertionSort(inputList):
totalComparisons = 0
# one comparsion per for loop to check if i has reached limit
for i in range(1,len(inputList)):
totalComparisons = totalComparisons + 1
currValue = inputList[i]
currPosition = i
# two comparisons in envery iteration
while currPosition>0 and inputList[currPosition-1]>currValue:
totalComparisons = totalComparisons + 2
inputList[currPosition]=inputList[currPosition-1]
currPosition = currPosition-1
inputList[currPosition]=currValue
return totalComparisons,inputList
inputList = [4,3,7,1,8,2]
print \"Input list: \",inputList
comparisons,sortedList = insertionSort(inputList)
print \"Sorted List: \", sortedList
print \"Total comparisons: \",comparisons
\'\'\'
output:
Input list: [4, 3, 7, 1, 8, 2]
Sorted List: [1, 2, 3, 4, 7, 8]
Total comparisons: 21
\'\'\'
