A23981. 下述python代码实现了归并排序算法,则横线上应填写( )。def merge(nums, left, mid, right): tmp = [] i, j = left, mid + 1 while i <= mid and j <= right: if nums[i] <= nums[j]: tmp.append(nums[i]) i += 1 else: tmp.append(nums[…
单选题
困难
知识点
题目描述
下述python代码实现了归并排序算法,则横线上应填写( )。
def merge(nums, left, mid, right):
tmp = []
i, j = left, mid + 1
while i <= mid and j <= right:
if nums[i] <= nums[j]:
tmp.append(nums[i])
i += 1
else:
tmp.append(nums[j])
j += 1
while i <= mid:
tmp.append(nums[i])
i += 1
while ____________:
tmp.append(nums[j])
j += 1
for k in range(len(tmp)):
nums[left + k] = tmp[k]
def mergeSort(nums, left, right):
if left >= right:
return
mid = (left + right) // 2
mergeSort(nums, left, mid)
mergeSort(nums, mid + 1, right)
merge(nums, left, mid, right)
# 使用示例
if __name__ == "__main__":
nums = [3, 1, 4, 1, 5, 9, 2, 6]
mergeSort(nums, 0, len(nums) - 1)
print(nums) # 输出排序后的数组选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题