【发布时间】:2017-08-09 14:42:45
【问题描述】:
我正在尝试创建一个由 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(最近一次调用最后一次): 文件“C:\Users\Ben\Desktop\insertion sort.py”,第 8 行,在 当 i > 0 且 arrayInsertion [i+1] > arrayInsertion [i] 时: IndexError: 列表索引超出范围
【问题讨论】:
-
当您打算使用
i-1时,您使用的是i+1吗?
标签: python insertion-sort insertion