A29751.合并数组
2025-09-07 13:13:46
发布于:江苏
0阅读
0回复
0点赞
学归并排序必做
#include <iostream>
using namespace std;
//a数组的长度和b数组的长度
int n, m;
//把a和b两个数组合并到t数组
int a[100005], b[100005], t[200005];
int main() {
//输入数据
cin >> n >> m;
for (int i=1; i<=n; i++) cin >> a[i];
for (int i=1; i<=m; i++) cin >> b[i];
int i=1, j=1, k=1;//i指向a数组,j指向b数组,k指向t数组
while (i<=n && j<=m) {
//如果a数组的下一个元素小,那就放a数组的元素
if (a[i] <= b[j]) t[k++] = a[i++];
//如果b数组的下一个元素小,那就放b数组的元素
else t[k++] = b[j++];
}
//剩下的元素无需比较,执行前不用特判,while()自带判定效果
while (i <= n) t[k++] = a[i++];
while (j <= m) t[k++] = b[j++];
//上面两条语句只会执行1条
for (int i=1; i<k; i++) cout << t[i] << ' ';
return 0;
}
这里空空如也
有帮助,赞一个