我不明白第 2 行发生了什么,带有“-1, 0 , -1”。为什么需要这样做,零代表什么?我已经运行了代码,当我删除了“-1,0,-1”部分并且它没有对列表进行排序时。我不明白为什么它是代码的关键部分def bubbleSort(alist): for passnum in range(len(alist)-1,0,-1): #line 2 for i in range(passnum): if alist[i]>alist[i+1]: temp = alist[i] alist[i] = alist[i+1] alist[i+1] = tempalist = [54,26,93,17,77,31,44,55,20]bubbleSort(alist)print(alist)
3 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
这与算法无关。range
有 3 个参数
从
到
步
在这种情况下,这意味着
从最后一个元素开始(索引=N-1)
继续直到第二个(索引= 0)
step=-1(倒退)
MMMHUHU
TA贡献1834条经验 获得超8个赞
这些是range(start, stop, sep)
(https://docs.python.org/3/library/functions.html#func-range)的参数在您的情况下,您创建一个以列表长度 -1 ( len(alist)-1
)开头的范围,并计数到0,通过采取-1的步骤。
添加回答
举报
0/150
提交
取消