程序分析:这里做的是升序。
C++代码:
#include<iostream>
using namespace std;
int main() {
int n1, n2, n, len1, len2, len;
int array1[100], array2[100], array[200];
cin >> n1 >> n2;
for (int i = 0; i<n1; i++) {
cin >> array1[i];
}
for (int i = 0; i<n2; i++) {
cin >> array2[i];
}
n = n1 + n2;
len1 = n1 - 1;
len2 = n2 - 1;
len = n - 1;
while (len1 >= 0 && len2 >= 0) {
if (array1[len1]>array2[len2]) {
array[len] = array1[len1];
len--;
len1--;
}
else {
array[len] = array2[len2];
len--;
len2--;
}
}
while (len1 >= 0) {
array[len] = array1[len1];
len--;
len1--;
}
while (len2 >= 0) {
array[len] = array2[len2];
len--;
len2--;
}
for (int i = 0; i<n; i++) {
cout << array[i] << " ";
}
}
C++运行结果: