c++1291合并数组
时间: 2023-10-20 09:59:43 浏览: 82
要在C++中合并两个数组,你可以使用标准库中的`std::vector`容器。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> array1 = {1, 2, 3};
std::vector<int> array2 = {4, 5, 6};
// 将array2的元素添加到array1的末尾
array1.insert(array1.end(), array2.begin(), array2.end());
// 输出合并后的数组
for (int i : array1) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码将输出:1 2 3 4 5 6,即将array2的元素合并到array1的末尾。你可以根据自己的需求修改代码,并使用适当的数据类型和算法来实现数组的合并。
相关问题
C++如何合并数组函数
合并两个数组的函数可以按照以下步骤实现:
1. 定义一个新的数组,大小为两个原始数组的大小之和。
2. 将第一个数组的所有元素复制到新数组中。
3. 将第二个数组的所有元素复制到新数组中,从第一个数组的末尾开始。
4. 返回新数组。
下面是一个简单的C++代码示例:
```cpp
#include <iostream>
using namespace std;
void mergeArrays(int arr1[], int n1, int arr2[], int n2, int mergedArr[])
{
int i, j, k;
// 复制第一个数组到合并后的数组中
for (i = 0; i < n1; i++)
mergedArr[i] = arr1[i];
// 将第二个数组的元素复制到合并后的数组中
for (j = 0; j < n2; j++)
mergedArr[i++] = arr2[j];
// 打印合并后的数组
cout << "合并后的数组为: ";
for (k = 0; k < n1 + n2; k++)
cout << mergedArr[k] << " ";
}
int main()
{
int arr1[] = {1, 2, 3, 4};
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int arr2[] = {5, 6, 7, 8};
int n2 = sizeof(arr2) / sizeof(arr2[0]);
int mergedArr[n1 + n2];
// 调用合并函数
mergeArrays(arr1, n1, arr2, n2, mergedArr);
return 0;
}
```
输出结果为:
```
合并后的数组为: 1 2 3 4 5 6 7 8
```
c++合并数组的函数
可以使用以下代码实现两个数组的合并:
```c++
#include <iostream>
using namespace std;
void mergeArrays(int arr1[], int n1, int arr2[], int n2, int mergedArr[]) {
int i = 0, j = 0, k = 0;
while (i < n1 && j < n2) {
if (arr1[i] < arr2[j]) {
mergedArr[k++] = arr1[i++];
} else {
mergedArr[k++] = arr2[j++];
}
}
while (i < n1) {
mergedArr[k++] = arr1[i++];
}
while (j < n2) {
mergedArr[k++] = arr2[j++];
}
}
int main() {
int arr1[] = {1, 3, 5, 7};
int n1 = sizeof(arr1) / sizeof(arr1[0]);
int arr2[] = {2, 4, 6, 8};
int n2 = sizeof(arr2) / sizeof(arr2[0]);
int mergedArr[n1 + n2];
mergeArrays(arr1, n1, arr2, n2, mergedArr);
for (int i = 0; i < n1 + n2; i++) {
cout << mergedArr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:`1 2 3 4 5 6 7 8`