测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)  # 输出排序后的数组

选项(单选)

上一题 下一题