合并有序数组
2023-07-26 09:37:06
发布于:河北
归并排序中的合并操作
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e4 + 4;
int a[MAXN], n, m, tmp[MAXN];
void comb() {
int i = 1, j = n + 1, k = 1;
while (i <= n && j <= n + m) {
if (a[i] < a[j]) {
tmp[k++] = a[i++];
} else tmp[k++] = a[j++];
}
while (i <= n) tmp[k++] = a[i++];
while (j <= n + m) tmp[k++] = a[j++];
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n + m; i++) {
cin >> a[i];
}
comb();
for (int i = 1; i <= n + m; i++) {
cout << tmp[i] << " ";
}
return 0;
}
这里空空如也
有帮助,赞一个