c语言将两个有序数列合并为一个有序数列适合大一初学者的代码
时间: 2023-06-14 09:05:41 浏览: 80
以下是一个简单的C语言代码,实现了将两个有序数列合并为一个有序数列的功能。
```c
#include <stdio.h>
void merge(int arr1[], int n1, int arr2[], int n2, int result[]) {
int i = 0, j = 0, k = 0;
while (i < n1 && j < n2) {
if (arr1[i] < arr2[j]) {
result[k++] = arr1[i++];
} else {
result[k++] = arr2[j++];
}
}
while (i < n1) {
result[k++] = arr1[i++];
}
while (j < n2) {
result[k++] = arr2[j++];
}
}
int main() {
int arr1[5] = {1, 3, 5, 7, 9};
int arr2[6] = {2, 4, 6, 8, 10, 12};
int result[11];
merge(arr1, 5, arr2, 6, result);
for (int i = 0; i < 11; i++) {
printf("%d ", result[i]);
}
return 0;
}
```
在这个例子中,我们定义了一个 `merge` 函数,该函数接受两个有序数列 `arr1` 和 `arr2`,以及它们的长度 `n1` 和 `n2`,并将它们合并为一个有序数列 `result`。我们使用三个指针 `i`、`j` 和 `k` 来跟踪 `arr1`、`arr2` 和 `result` 数组中的当前位置。我们使用 while 循环来比较 `arr1` 和 `arr2` 中的元素,并将它们按顺序放入 `result` 数组中。最后,我们处理剩余的元素并将它们添加到 `result` 数组中。
在主函数中,我们定义了两个有序数列 `arr1` 和 `arr2`,并将它们合并为一个有序数列 `result`。然后我们遍历输出 `result` 数组中的元素。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)