下面给出归并排序(Merge Sort)的递归框架,函数将区间 [l,r](闭区间)排序。横线处应补上哪一句,才能正确排序并进入合并?
void merge_sort(int a[], int l, int r) {
if (l >= r) return;
int mid = (l + r) / 2;
merge_sort(a, l, mid);
_________ // 在此处填入选项
merge(a, l, mid, r); // 合并操作
}
- A.
merge_sort(a, mid, r); - B.
merge_sort(a, mid + 1, r); - C.
merge_sort(a, l, mid + 1); - D.
merge_sort(a, mid - 1, r);