题目 :

代码:
cpp
#define _CRT_SECURE_NO_WARNINGS
#define MAX 1000
#include <stdio.h>
int main() {
int n, m;
// 1. 读取两个序列的长度n和m
scanf("%d %d", &n, &m);
// 2. 定义并读取两个有序数组
int a[MAX] = { 0 }, b[MAX] = { 0 };
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < m; i++) {
scanf("%d", &b[i]);
}
// 3. 双指针法合并两个有序数组
int i = 0, j = 0;
while (i < n && j < m) {
if (a[i] <= b[j]) {
printf("%d ", a[i++]);
}
else {
printf("%d ", b[j++]);
}
}
// 4. 处理剩余元素
while (i < n) {
printf("%d ", a[i++]);
}
while (j < m) {
printf("%d ", b[j++]);
}
return 0;
}
思路:
