21xrx.com
2024-09-20 06:13:48 Friday
登录
文章检索 我的文章 写文章
如何用C++合并两个数组?
2023-07-02 21:02:44 深夜i     --     --
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++中,有很多种方法可以实现数组合并,你可以根据自己的需求和习惯选择一种最合适的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复