下面程序的空格中应该填写什么?def selSort(nums): n = len(nums) for bottom in range(n-1): mi = bottom for i in range(_________, n): if nums[i] < nums[mi]: mi = i nums[bottom], nums[mi] = nums[mi], nums[bottom] return nums numbers = [49, 38, 65, 97, 76, 13, 27, 49] print(selSort(numbers))
时间: 2024-01-23 18:04:26 浏览: 126
js代码-两数之和 输入:nums = [2,7,11,15], target = 9 输出:[0,1]
空格中应填`bottom+1`。
此段Python代码实现了选择排序,`selSort()`函数的参数是一个整数列表`nums`,返回值是对`nums`进行选择排序后的结果。
选择排序的思想是每次从未排序的部分中选出最小的元素,放到已排序部分的末尾。在`selSort()`函数中,外层循环控制已排序部分的末尾,内层循环在未排序部分中选出最小的元素。因此,内层循环的范围应该是从`bottom+1`到`n-1`,其中`bottom`是已排序部分的末尾,即已排序部分的长度减1。
因此,正确的代码如下所示:
```python
def selSort(nums):
n = len(nums)
for bottom in range(n-1):
mi = bottom
for i in range(bottom+1, n):
if nums[i] < nums[mi]:
mi = i
nums[bottom], nums[mi] = nums[mi], nums[bottom]
return nums
numbers = [49, 38, 65, 97, 76, 13, 27, 49]
print(selSort(numbers))
```
输出结果为`[13, 27, 38, 49, 49, 65, 76, 97]`,即为对输入列表进行选择排序后的结果。
阅读全文