我编写了这段代码来实现合并排序,它从用户处获取输入数组并使用合并排序对该数组进行排序。但它会给出与输入相同的输出。
我还将临时数组 ( temp[]) 复制到array[].
请检查我的代码并给我解决方案,谢谢。
#include <stdio.h>
void merge(int array[], int mid, int low, int high) {
int i, j, k, temp[100];
i = low;
k = low;
j = mid + 1;
while (i <= mid && j <= high) {
if (array[i] < array[j]) {
temp[k] = array[i];
i++;
k++;
} else {
temp[k] = array[j];
j++;
k++;
}
}
while (i <= mid) {
temp[k] = array[i];
i++;
k++;
}
while (j <= …Run Code Online (Sandbox Code Playgroud)