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

Python插入排序混乱

Python插入排序混乱

HUX布斯 2021-03-30 17:10:29
我有以下代码:Array = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]for c in range(1, len(Array)):     if(Array[c]==-1):         continue     temp = Array[c]     i = c     d = c-1     while(d>=0):        if(Array[d]==-1):            d-=1            continue        if(temp>=Array[d]):            break        Array[i] = Array[d]        i = d        d-=1     Array[i] = temp当我按编写的方式运行代码时,最终的Array是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]但是,当我将最后一行更改为“ Array [i] = Array [c]”而不是“ Array [i] = temp”时,最终的Array为:[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]这对我来说没有意义。如果“ temp”是Array [c],为什么更改该行会有所不同?
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

temp获取的值Array[c],但是Array[c]第一次执行Array[i] = Array[d](自i==c最初以来)后,存储位置将被另一个值覆盖。temp是否保留了初始值,因此即使Array[c]其已被重置,也可以在以后使用。


查看完整回答
反对 回复 2021-04-02
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

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