50,常用拷贝和替换算法
学习目标:
掌握常用的拷贝和替换算法
算法简介:
copy //容器内指定范围的元素拷贝到另一容器
replace //将容器内指定范围的就元素修改为新元素
replace_if //容器内指定范围满足条件的元素替换为新元素
swap //互换两个容器的元素
50.1copy
功能描述:
容器内指定范围的元素拷贝到另一容器中
函数原型:
copy(iterator beg,iterator end,iterator dest);
//容器内指定范围的元素拷贝到另一容器
//beg 开始迭代器
//end 结束迭代器
//dest 目标起始迭代器
#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
void MyPrint(int& val)
{
cout << val << " ";
}
void test01()
{
vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
vector<int>vGoal;
vGoal.resize(v.size());
copy(v.begin(), v.end(), vGoal.begin());
for_each(vGoal.begin(), vGoal.end(), MyPrint);
cout << endl;
}
int main()
{
test01();
system("pause");
return 0;
}
输出结果:
0 1 2 3 4 5 6 7 8 9
总结:利用copy算法拷贝时,目标容器记得提前开辟空间