我想创建一个由7个随机生成的数字组成的数组,然后使用插入排序方法将这些数字从最小到最大排序。我浏览过几个以前回答过的话题,因为这是一个很常见的问题,但每个用户都有非常不同的代码,这让我想知道我哪里出错了。插入排序错误列表索引
import random # importing the random module
arrayInsertion = []
for i in range (7): # 7 different numbers
arrayInsertion.append(random.randint (1,10))
for i in range (1,7):
while i > 0 and arrayInsertion [i+1] > arrayInsertion [i]:
arrayInsertion [i] = arrayInsertion [i-1]
i = i - 1
print (arrayInsertion)
运行此代码,我得到了以下错误消息:
Traceback (most recent call last): File "C:\Users\Ben\Desktop\insertion sort.py", line 8, in while i > 0 and arrayInsertion [i+1] > arrayInsertion [i]: IndexError: list index out of range
当你的意思是使用'i-1'时,你是否在使用'i + 1'? – Blckknght