def insert_sort(array):
array_length = len(array)
for i in range(1, array_length):
j = i
while(array[j] > array[j-1]):
array[j], array[j-1] = array[j-1], array[j]
j = j-1
return array
if __name__ == '__main__':
array = [1,6,2,4,8,3,7,5,9]
print(insert_sort(array))想要写一个插入排序,不知道为什么会越界?
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
数组的索引的最大值应该是数组的长度-1 是最后一个元素 所以 应该是
def insert_sort(array): array_length = len(array) for i in range(1, array_length-1): j = i while(array[j] > array[j-1]): array[j], array[j-1] = array[j-1], array[j] j = j-1 return array if __name__ == '__main__': array = [1,6,2,4,8,3,7,5,9] print(insert_sort(array))
- 1 回答
- 0 关注
- 268 浏览
添加回答
举报
0/150
提交
取消