下面程序是冒泡排序的实现,请填空(答案中不要有空格) 。 def bubble(List): for j in range(________,0,-1): for i in range(0,j): if List[i]>List[i+1]:List[i],List[i+1]=List[i+1],List[i] return List testlist = [49, 38, 65, 97, 76, 13, 27, 49] print( bubble(testlist))
时间: 2024-01-30 07:03:12 浏览: 77
这是冒泡排序的实现,填空处为 `len(List) - 1`。
```python
def bubble(List):
for j in range(len(List) - 1, 0, -1):
for i in range(0, j):
if List[i] > List[i+1]:
List[i], List[i+1] = List[i+1], List[i]
return List
testlist = [49, 38, 65, 97, 76, 13, 27, 49]
print(bubble(testlist)) # 输出 [13, 27, 38, 49, 49, 65, 76, 97]
```
以上代码中,外层循环 `j` 表示排序的轮数,初始值为 `len(List) - 1`,每次循环将其减 `1`,直到 `1`。内层循环 `i` 表示在未排序部分中,通过比较相邻元素的大小,将较大的元素向后交换,使得较大的元素逐渐“冒泡”到未排序部分的末尾。在每轮排序结束后,最后一个元素就是当前未排序部分中的最大值。这样,经过 `len(List) - 1` 轮排序,整个序列就被排序完成了。
阅读全文