我不明白第二行的"-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] = temp
alist = [54,26,93,17,77,31,44,55,20]
bubbleSort(alist)
print(alist)发布于 2019-02-14 23:12:49
这与算法无关。range有3个参数
在这种情况下,这意味着
从最后一个元素(index=N-1)
发布于 2019-02-14 23:12:52
这些是range(start, stop, sep) (https://docs.python.org/3/library/functions.html#func-range)的参数,在本例中,您创建了一个从列表长度-1 (len(alist)-1)开始的范围,并通过采取-1的步长计数到0。
https://stackoverflow.com/questions/54693484
复制相似问题