为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个程序会出现数组越界?我找了半天找不到

为什么这个程序会出现数组越界?我找了半天找不到

慕码人2483693 2018-07-02 10:18:17
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))


查看完整回答
反对 回复 2018-07-17
  • 1 回答
  • 0 关注
  • 253 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信