把两个数组A和B进行归并排序合为一个数组C语言实现代码
时间: 2024-04-30 15:18:03 浏览: 17
以下是归并排序的C语言实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
void merge(int arr[], int left, int mid, int right) {
int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
int L[n1], R[n2];
for (i = 0; i < n1; i++) {
L[i] = arr[left + i];
}
for (j = 0; j < n2; j++) {
R[j] = arr[mid + 1 + j];
}
i = 0;
j = 0;
k = left;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
k++;
}
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
}
void merge_sort(int arr[], int left, int right) {
if (left < right) {
int mid = left + (right - left) / 2;
merge_sort(arr, left, mid);
merge_sort(arr, mid + 1, right);
merge(arr, left, mid, right);
}
}
int main() {
int n, m;
printf("输入数组A的大小: ");
scanf("%d", &n);
printf("输入数组B的大小: ");
scanf("%d", &m);
int A[n], B[m], C[n + m];
printf("输入数组A的元素: ");
for (int i = 0; i < n; i++) {
scanf("%d", &A[i]);
}
printf("输入数组B的元素: ");
for (int i = 0; i < m; i++) {
scanf("%d", &B[i]);
}
// 将数组A和数组B合并到数组C中
for (int i = 0; i < n; i++) {
C[i] = A[i];
}
for (int i = 0; i < m; i++) {
C[n + i] = B[i];
}
// 对数组C进行归并排序
merge_sort(C, 0, n + m - 1);
printf("合并后的数组C为: ");
for (int i = 0; i < n + m; i++) {
printf("%d ", C[i]);
}
printf("\n");
return 0;
}
```
这段代码中,我们先输入两个数组A和B的大小和元素,然后将它们合并到一个新数组C中。接着,我们对数组C进行归并排序,最后输出排好序的数组C。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)