Python中的气泡排序函数
我有一个关于冒泡排序函数的问题,我不明白。任务是在代码的所有部分添加详细的注释,解释它在做什么。我不确定的代码行是第2行和第3行(末尾标有“#?”)。有人能很好地解释一下这些台词在做什么吗?非常感谢您的帮助Python中的气泡排序函数,python,Python,我有一个关于冒泡排序函数的问题,我不明白。任务是在代码的所有部分添加详细的注释,解释它在做什么。我不确定的代码行是第2行和第3行(末尾标有“#?”)。有人能很好地解释一下这些台词在做什么吗?非常感谢您的帮助 def bubbleSort(alist): for passnum in range(len(alist)-1,0,-1): #? for i in range(passnum): #? if alist[i] > alist[i+1]
def bubbleSort(alist):
for passnum in range(len(alist)-1,0,-1): #?
for i in range(passnum): #?
if alist[i] > alist[i+1]:
temp = alist[i]
alist[i] = alist[i+1]
alist[i+1] = temp
list = [54,26,93,17,77,31,44,55,20]
bubbleSort(list)
print(list)
根据:
是列表(8)的长度减去一(7)。它代表一些“起始”数字len(alist)-1
表示“停止”编号0
表示“步骤”编号李>-1
范围内(len(alist)-1,0,-1)
表示“从7计数到0,向后-一次一个负步骤”
当range()
只传递一个参数(一个数字)时,它从0计数到该数字。文档给出了以下示例:
list(range(10))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
因此,代码从7计数到0——每次执行一次计数,它都会立即从0计数到该数字。它们几乎是
for(int-passnum=alist.length()-1;passnum>0;--passnum){for(int-i=0;i
。您应该阅读。我为你链接了它。您所要做的就是仔细阅读参数是什么,更好地了解for
循环的作用:
for i in range(passnum):
list(range(10))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]