在C ++中复制向量的方法
有多种方法可以在C++中复制向量。
1)std::复制
std::copy是内置的,用于将元素从一个向量复制到另一个向量。
语法
std::copy(first_iterator_o, last_iterator_o, back_inserter()): first_iteratot_0 = First iterator of first vector. last_iteratot_0 = Last iterator of first vector. back_inserter() = To insert values from back.
算法
Begin
Declare v1 of vector type.
Initialize some values into v1 vector in array pattern.
Declare v2 of vector type.
Call copy(v1.begin(), v1.end(), back_inserter(v2)) to copy all
elements of v1 to v2.
Print “v1 vector elements are :”.
for (int i=0;i<1.size; i++)
print the all element of v2 vector.
Print “v2 vector elements are :”.
for (int i=0;i<2.size; i++)
print the all element of v2 vector.
End.范例程式码
#include<iostream>
#include<vector>
#include<algorithm> // for copy.
#include<iterator> // for back_inserter
using namespace std;
int main() {
vector<int> v1{ 7, 6, 4, 5 };
vector<int> v2;
copy(v1.begin(), v1.end(), back_inserter(v2));
cout << "v1 vector elements are : ";
for (int i=0; i<v1.size(); i++)
cout << v1[i] << " ";
cout << endl;
cout << "v2 vector elements are : ";
for (int i=0; i<v2.size(); i++)
cout << v2[i] << " ";
cout<< endl;
return 0;
}输出结果
v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5
2)指派运算符
这也用于将值从向量1复制到向量2。
语法
std::assign(first_iterator_o, last_iterator_o): first_iteratot_0 = First iterator of first vector. last_iteratot_0 = Last iterator of first vector.
算法
Begin Initialize a vector v1 with its elements. Declare another vector v2. Call assign() to copy the elements of v1 to v2. Print the elements of v1. Print the elements of v2. End.
范例程式码
#include<iostream> #include<vector> // for vector #include<iostream>
#include<vector>// for vector
#include<algorithm>// for copy() and assign()#include<iterator>// for back_inserter
using namespace std;
int main() {
vector<int> v1{7,6,4,5};
vector<int> v2;
v2.assign(v1.begin(), v1.end());
cout << "v1 vector elements are : ";
for (int i=0; i<v1.size(); i++)
cout << v1[i] << " ";
cout << endl;
cout << "v2 vector elements are : ";
for (int i=0; i<v2.size(); i++)
cout << v2[i] << " ";
cout<< endl;
return 0;
}输出结果
v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5
3)通过分配“=”运算符
这是将值从向量1复制到向量2的简单方法
算法
Begin Initialize a vector v1 with its elements. Declare another vector v2. Call assignment operator “=” to copy the elements of v1 to v2. Print the elements of v1. Print the elements of v2. End.
范例程式码
#include<iostream>
#include<vector> // for vector
#include<algorithm>// for copy() and assign()#include<iterator>// for back_inserter
using namespace std;
int main() {
vector<int> v1{7,6,4,5};
vector<int> v2;
v2 = v1 ;
cout << "v1 vector elements are : ";
for (int i=0; i<v1.size(); i++)
cout << v1[i] << " ";
cout << endl;
cout << "v2 vector elements are : ";
for (int i=0; i<v2.size(); i++)
cout << v2[i] << " ";
cout<< endl;
return 0;
}输出结果
v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5
4)通过push_back方法
算法
Begin Initialize a vector v1 with its elements. Declare another vector v2. Make a for loop to copy elements of first vector into second vector by Iterative method using push_back(). Print the elements of v1. Print the elements of v2. End.
范例程式码
#include<iostream> #include<vector> // for vector
#include<iostream>
#include<vector>// for vector
#include<algorithm>// for copy() and assign()#include<iterator>// for back_inserter
using namespace std;
int main() {
vector<int> v1{7,6,4,5};
vector<int> v2;
for (int i=0; i<v1.size(); i++)
v2.push_back(v1[i]);
cout << "v1 vector elements are : ";
for (int i=0; i<v1.size(); i++)
cout << v1[i] << " ";
cout << endl;
cout << "v2 vector elements are : ";
for (int i=0; i<v2.size(); i++)
cout << v2[i] << " ";
cout<< endl;
return 0;
}输出结果
v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5
5)通过传递vector作为构造函数
算法
Begin Initialize a vector v1 with its elements. Declare another vector v2 and copying elements of first vector to second vector using constructor method and they are deeply copied. Print the elements of v1. Print the elements of v2. End.
范例程式码
#include<iostream>
#include<vector>// for vector
#include<algorithm>// for copy() and assign()#include<iterator>// for back_inserter
using namespace std;
int main() {
vector<int> v1{7,6,4,5};
vector<int> v2(v1);
cout << "v1 vector elements are : ";
for (int i=0; i<v1.size(); i++)
cout << v1[i] << " ";
cout << endl;
cout << "v2 vector elements are : ";
for (int i=0; i<v2.size(); i++)
cout << v2[i] << " ";
cout<< endl;
return 0;
}输出结果
v1 vector elements are : 7 6 4 5 v2 vector elements are : 7 6 4 5
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短