解题思路:基本的合并思路,不知道是不是有序,个人觉得输入应该都是非递减,没必要加sort,但保险起见还是加了。

注意事项:记得循环输入,m==0&&n==0时输出换行。

参考代码:

#include <iostream>

#include <stdlib.h> 

#include <algorithm>

using namespace std;


int main() {


int m = 0, n = 0;

int *a = nullptr;

int *b = nullptr;

int *c = nullptr;

while (cin >> m)

{

a = (int *)malloc(sizeof(int)*m);

for (int i = 0;i < m;i++) {

cin >> a[i];

}

sort(a, a + m);

cin >> n;

b = (int *)malloc(sizeof(int)*n);

for (int i = 0;i < n;i++) {

cin >> b[i];

}

sort(b, b + n);

c = (int *)malloc(sizeof(int)*(m + n));

int ai = 0, bj = 0;

int k = 0;

while (ai < m && bj < n) {

int temp = 0;

if (a[ai] <= b[bj]) {

temp = a[ai];

c[k++] = a[ai++];

}

else {

temp = b[bj];

c[k++] = b[bj++];

}

}


while (ai < m) c[k++] = a[ai++];

while (bj < n) c[k++] = b[bj++];


for (int i = 0;i < k;i++)

cout << c[i] << " ";

if (k == 0)

cout << endl;

}

//system("pause");

return 0;

}



点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论