如何在C ++ STL中将数组元素复制到向量?
给定一个数组,我们必须将其元素复制到C++STL中的向量。
将数组元素复制到向量
在C++STL中,我们可以使用以下方式将数组元素复制到向量中:
在声明矢量的同时分配数组元素
当我们声明矢量时,可以通过指定数组的范围[start,end]来分配数组元素。
vector<type> vector_name(array_start, array_end);
通过使用复制函数
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