A22236. 下⾯代码实现了归并排序。下述关于归并排序的说法中,不正确的是( )。def merge(arr, temp, l, mid, r): i = l j = mid + 1 k = l while i <= mid and j <= r: if arr[i] <= arr[j]: temp[k] = arr[i] i += 1 else: temp[k] = arr[j] j += 1 k += 1…
单选题
困难
知识点
题目描述
下⾯代码实现了归并排序。下述关于归并排序的说法中,不正确的是( )。
def merge(arr, temp, l, mid, r):
i = l
j = mid + 1
k = l
while i <= mid and j <= r:
if arr[i] <= arr[j]:
temp[k] = arr[i]
i += 1
else:
temp[k] = arr[j]
j += 1
k += 1
while i <= mid:
temp[k] = arr[i]
i += 1
k += 1
while j <= r:
temp[k] = arr[j]
j += 1
k += 1
for p in range(l, r + 1):
arr[p] = temp[p]
def merge_sort(arr, temp, l, r):
if l >= r:
return
mid = l + (r - l) // 2
merge_sort(arr, temp, l, mid)
merge_sort(arr, temp, mid + 1, r)
merge(arr, temp, l, mid, r)
def merge_sort_wrapper(arr):
if not arr:
return []
temp = [0] * len(arr)
merge_sort(arr, temp, 0, len(arr) - 1)
return arr选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题