尝试创建插入排序但收到错误...插入排序不工作 - 列表索引超出范围
不知道为什么会发生这种情况。它总是倾向于错过37藏汉
numbers = [45,56,37,79,46,18,90,81,50]
def insertionSort(items):
Tsorted = []
Tsorted.append(items[0])
items.remove(items[0])
for i in range(0,len(items)):
print (Tsorted)
if items[i] > Tsorted[len(Tsorted)-1]:
Tsorted.append(items[i])
else:
Tsorted[len(Tsorted)-2] = items[i]
items.remove(items[i])
insertionSort(numbers)
错误:
if items[i] > Tsorted[len(Tsorted)-1]:
IndexError: list index out of range
这些与您的错误无关。这已经在答案中解释了,但我想补充一句,'Tsorted.append(items.pop(items [0]))'等于你在这两行中做的事情。此外,'Tsorted [-1]'会给你与'Tsorted [len(Tsorted)-1]'相同的结果 – Lafexlos