📜  在 C++ 中将向量附加到向量(1)

📅  最后修改于: 2023-12-03 14:50:52.292000             🧑  作者: Mango

在 C++ 中将向量附加到向量

在 C++ 中,我们可以使用标准库中的vector容器来保存一组元素。有时候我们需要将一个向量附加到另一个向量的末尾,本篇文章将介绍如何在 C++ 中实现这个功能。

方法一:使用循环

我们可以使用循环将一个向量的元素一个一个地添加到另一个向量的末尾。示例代码如下:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec1 {1, 2, 3};
    std::vector<int> vec2 {4, 5, 6};
    
    for (auto elem : vec2) {
        vec1.push_back(elem);
    }
    
    // 打印合并后的向量
    for (auto elem : vec1) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

上述代码中,我们首先定义了两个向量 vec1vec2,然后使用 for 循环将 vec2 中的元素一个一个地添加到 vec1 的末尾,并最终打印合并后的向量。

方法二:使用std::vector::insert

向量的insert方法可以接收一个迭代器和一个区间,用于在指定位置插入一段元素。我们可以使用 vec1.insert(vec1.end(), vec2.begin(), vec2.end())vec2 的所有元素添加到 vec1 的末尾。示例代码如下:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec1 {1, 2, 3};
    std::vector<int> vec2 {4, 5, 6};
    
    vec1.insert(vec1.end(), vec2.begin(), vec2.end());
    
    // 打印合并后的向量
    for (auto elem : vec1) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

上述代码中,我们首先定义了两个向量 vec1vec2,然后使用 vec1.insert(vec1.end(), vec2.begin(), vec2.end())vec2 的所有元素添加到 vec1 的末尾,并最终打印合并后的向量。

总结

本篇文章介绍了在 C++ 中将向量附加到向量的两种方法:使用循环和使用 std::vector::insert 方法。这两种方法各有优劣,具体使用哪种方法可以根据具体场景而定。