A23845. 下面 merge_sort 函数试图实现归并排序算法,横线处应该填入的是( )。#include <vector> using namespace std; void merge_sort(vector<int> &arr, int left, int right) { if (right - left <= 1) return; int mid = (left + right) / 2; me…
单选题
困难
知识点
题目描述
下面 merge_sort 函数试图实现归并排序算法,横线处应该填入的是( )。
#include <vector>
using namespace std;
void merge_sort(vector<int> &arr, int left, int right) {
if (right - left <= 1)
return;
int mid = (left + right) / 2;
merge_sort(________); // 在此处填入选项
merge_sort(________); // 在此处填入选项
vector<int> temp(right - left);
int i = left, j = mid, k = 0;
while (i < mid && j < right)
if (arr[i] <= arr[j])
temp[k++] = arr[i++];
else
temp[k++] = arr[j++];
while (i < mid)
temp[k++] = arr[i++];
while (j < right)
temp[k++] = arr[j++];
for (i = left, k = 0; i < right; ++i, ++k)
arr[i] = temp[k];
}选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题