这就是下面合并排序的实现。但是,我不明白这段代码是如何工作的。我们不使用指针,并且 中不会返回任何内容main()。那么,它是如何操纵的呢myarray?谁能解释一下吗?
这是代码:
#include <iostream>
using namespace std;
void merge(int arr[], int l, int m, int r) {
int i = l;
int j = m + 1;
int k = l;
/* create temp array */
int temp[5];
while (i <= m && j <= r) {
if (arr[i] <= arr[j]) {
temp[k] = arr[i];
i++;
k++;
} else {
temp[k] = arr[j];
j++;
k++;
}
}
/* Copy the remaining elements of first half, …Run Code Online (Sandbox Code Playgroud)