【问题标题】:Merging two arrays in a C++ program在 C++ 程序中合并两个数组
【发布时间】:2016-07-12 03:13:15
【问题描述】:

我想在 C++ 程序中将两个数组合并为一个。例如:

int A[150],B[150];
int C[150][2];

我想将它们作为 C 中的列向量。例如在 MATLAB 中,我可以使用 C=[A;B]。最简单的方法是什么?

【问题讨论】:

  • 这取决于您是将它们复制到第三个数组中,还是让第三个数组保存对前两个数组的引用。
  • 做一个需要 2 秒编码的基本循环?而 C++ 是一种面向对象的语言,所以使用对象,对于数组,您在标准库中获得了模板化数组
  • 最简单的方法是这个std::vector<int> a; std::vector<int> b; std::vector<std::vector<int> > c; c.push_back(a); c.push_back(b);
  • @tobi303 但这会将整个数组保存在索引 0 上,整个数组保存在索引 1 上。这是他要求的吗?也许索引上两个数组的每个元素都需要一个 for 循环和每个数组的 push_back(s)

标签: c++ arrays merge


【解决方案1】:
for(int i = 0; i < 150; ++i){
    c[i][0] = a[i];
    c[i][1] = b[i];
}

【讨论】:

    【解决方案2】:

    试试这个。与其他代码相比,您会感觉更好。

    using namespace std;
    
    int main()
    {
    int a[5]={3,2,1,4,5};
    int  b[5]={9,8,6,7,0};
    int c[10];    
    for(int i=0;i<=4;i++)
    {
        cout<<"\n"<<a[i];
    
    }
    
    for(int i=0;i<=4;i++)
    {
        cout<<"\n"<<b[i];
    }
    for(int i=0;i<=4;i++)
    {
        c[i]=a[i];
    }
    for(int i=0,k=5;k<=10&&i<5;i++,k++)
    {
        c[k]=b[i];
    }
    cout<<"merging";
    for(int i=0;i<=9;i++)
    {
        cout<<"\n";
    cout<<"\t"<<c[i];
    }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多