21xrx.com
2025-03-24 19:45:12 Monday
文章检索 我的文章 写文章
如何用C++合并两个数组?
2023-07-02 21:02:44 深夜i     8     0
C++ 合并 两个数组

在C++中,合并两个数组可以通过以下几种方法实现:

方法一:使用for循环将两个数组元素逐一拷贝到新的数组中

我们可以先声明一个新的数组,然后使用for循环将第一个数组和第二个数组中的元素逐一拷贝到新的数组中。具体代码如下:

#include<iostream>
using namespace std;
int main()
{
  int a[5]=2; //第一个数组
  int b[5]=9; //第二个数组
  int c[10]; //新数组
  int i,j=0; //i用于遍历第一个数组,j用于遍历第二个数组
  //将第一个数组元素拷贝到新数组
  for(i=0;i<5;i++)
  {
    c[i]=a[i];
  }
  //将第二个数组元素拷贝到新数组
  for(i=5;i<10;i++)
  {
    c[i]=b[j];
    j++;
  }
  //输出合并后的数组
  for(i=0;i<10;i++)
  {
    cout<<c[i]<<" ";
  }
  return 0;
}

方法二:使用STL库中的merge()函数

STL库中的merge()函数可以将两个已排序的数组合并成一个新数组。具体代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
  int a[5]=5; //第一个有序数组
  int b[5]=10; //第二个有序数组
  int c[10]; //新数组
  merge(a,a+5,b,b+5,c); //将两个数组合并到新数组中
  //输出合并后的数组
  for(int i=0;i<10;i++)
  {
    cout<<c[i]<<" ";
  }
  return 0;
}

方法三:使用vector容器实现数组合并

我们也可以使用vector容器来实现数组合并。首先将两个数组中的元素逐一添加到两个不同的vector容器中,然后再使用vector容器提供的insert()函数将其中一个容器中的元素插入到另一个容器中。具体代码如下:

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  int a[5]=4; //第一个数组
  int b[5]=10; //第二个数组
  vector<int> vec1(a,a+5); //第一个容器
  vector<int> vec2(b,b+5); //第二个容器
  vec1.insert(vec1.end(),vec2.begin(),vec2.end()); //将vec2中的元素插入到vec1的末尾
  //输出合并后的数组
  for(int i=0;i<vec1.size();i++)
  {
    cout<<vec1[i]<<" ";
  }
  return 0;
}

无论你采用了哪种方法合并数组,最终的结果都是将两个数组中的所有元素合并成一个新的数组。在C++中,有很多种方法可以实现数组合并,你可以根据自己的需求和习惯选择一种最合适的方法。

  
  

评论区

请求出错了