如何在C ++ STL中将数组元素复制到向量?

给定一个数组,我们必须将其元素复制到C ++ STL中的向量。

将数组元素复制到向量

在C ++ STL中,我们可以使用以下方式将数组元素复制到向量中

  1. 在声明矢量的同时分配数组元素
    当我们声明矢量时,可以通过指定数组的范围[start,end]来分配数组元素。

        vector<type> vector_name(array_start, array_end);
  2. 通过使用复制函数
    copy()函数是算法标头的库函数,可通过指定数组范围[start,end]和指向初始位置的迭代器(我们要从该位置开始)将其复制到向量中分配向量的内容)。

        vector<type> vector_name(size);
        std::copy(array_start, array_end, vector_start_iterator);

注意:要使用vector –包含<vector>标头,而要使用copy()函数– include <algorithm>标头,或者我们可以简单地使用<bits / stdc ++。h>标头文件。

C ++ STL程序将数组元素复制到向量

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(){
    //数组
    int arr[] = { 10, 20, 30, 40, 50 };

    //在声明数组时将其分配给vector-
    vector<int> v1(arr + 0, arr + 5);

    //首先宣誓
    //然后复制数组内容
    vector<int> v2(5);
    copy(arr + 0, arr + 5, v2.begin());

    //打印矢量
    cout << "vector (v1): ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    cout << "vector (v2): ";
    for (int x : v2)
        cout << x << " ";
    cout << endl;

    return 0;
}

输出结果

vector (v1): 10 20 30 40 50
vector (v2): 10 20 30 40 50