将两个已经按降序排列的整型数组合并为一个升序数组。设计你的算法,以得到较高的运行效率。

来源:百度知道 编辑:UC知道 时间:2024/05/26 22:18:47

我这有个效率不高的,不知道是否是你想要的。

#include<iostream>

using namespace std;

int main()
{
const int n = 5;
const int m = 5;
int a[n] = {6, 5, 4, 3, 2}, b[m] = {9, 8, 7, 1, 0}, c[m + n];
int i = 0, j = 0, k = 0;
while (i < n && j < m) {
if (a[i] > b[j]) c[k++] = a[i++];
else c[k++] = b[j++];
}
while (i < n) {
c[k++] = a[i++];
}
while (j < m) {
c[k++] = b[j++];
}
for (i = 0; i < n + m; i++)
cout << c[i] << endl;
return 0;
}