泛型算法名称 | copy() 拷贝 |
作用 | 将源容器中的数据拷贝到目标容器内,顺序不变 |
参数 | 源容器开头, 源容器结尾,目标容器开头 |
泛型算法名称 | copy_backward() 逆向拷贝 |
作用 | 将源容器中的数据拷贝到目标容器内,顺序不变 |
参数 | 源容器开头, 源容器结尾,目标容器结尾 |
//创建动态数组
vector<int> CreateVector1()
{
vector<int> VeInt;
srand(time(0));
for (int i = 2; i < 12; i++)
{
VeInt.push_back(rand() % 100);
}
return VeInt;
}
//输出动态数组
void ShowVector(vector<int> VeInt)
{
vector<int>::iterator showVeInt;
for (showVeInt = VeInt.begin(); showVeInt != VeInt.end(); showVeInt++)
{
cout << *showVeInt << " ";
}
cout << endl;
}
//拷贝算法
void my_copy(vector<int> &intvector, vector<int> &vector)
{
copy(intvector.begin(), intvector.end(), vector.begin());
}
//逆向拷贝算法
void my_copy_backward(vector<int> &intvector, vector<int> &vector)
{
copy_backward(intvector.begin(), intvector.end(), vector.end());
}
//主函数
void main()
{
vector<int> VeInt = CreateVector1();
vector<int> VeInt2(10);
vector<int> VeInt3(10);
my_copy(VeInt, VeInt2);
cout << "源:VeInt :" << "\t";
ShowVector(VeInt);
cout << "\n" << "copy的VeInt2 :" << "\t";
ShowVector(VeInt2);
my_copy_backward(VeInt, VeInt3);
cout << "\n" << "copy_backward的VeInt3 :" << "\t";
ShowVector(VeInt3);
}
逆向拷贝是从源容器的结尾开始进行拷贝,拷贝完的数据顺序不变。