c++中两个数组合并
时间: 2024-10-04 20:00:33 浏览: 3
在C++中,将两个数组合并通常涉及到创建一个新的数组,然后逐个添加元素,直到两个原始数组的所有元素都被放入新数组。这里有一个基本示例:
```cpp
#include <iostream>
using namespace std;
void mergeArrays(int arr1[], int size1, int arr2[], int size2, int result[]) {
// 遍历两个数组,并将较小的元素添加到结果数组
for (int i = 0; i < size1 && i < size2; ++i) {
if (arr1[i] <= arr2[i]) {
result[i] = arr1[i];
} else {
result[i] = arr2[i];
}
}
// 将剩余的第一个数组的元素复制到结果数组
if (size1 < size2) {
for (int i = size1; i < size2; ++i) {
result[i] = arr2[i];
}
} else {
for (int i = size1; i < size1 + size2; ++i) {
result[i] = arr1[i - size1]; // 或者result[size1+i-size2],取决于数组下标从哪开始计数
}
}
}
int main() {
int arr1[] = {1, 3, 5};
int size1 = sizeof(arr1) / sizeof(arr1[0]);
int arr2[] = {2, 4, 6};
int size2 = sizeof(arr2) / sizeof(arr2[0]);
int mergedArray[size1 + size2]; // 创建一个足够大的新数组来存放合并后的元素
mergeArrays(arr1, size1, arr2, size2, mergedArray);
cout << "Merged array: ";
for (int i : mergedArray) {
cout << i << " ";
}
return 0;
}
```