In this program, I want to calculate the number of data comparisons in the insertion sort, but my code is not working as I expected.
def insertionSort(list):
the problem is
if value >= list[j]:
numOfComp += 1
j = j - 1
If value >= list[j] you can and should simply exit your while loop and stop further comarisons
Also you are repeating the comparisons twice See the following refined code
def insertionSort(list):
numOfComp = 0
for i in range(1,len(list)):
value = list[i]
j = i - 1
while j>=0:
if value