#include <iostream>
#include <Algorithm>
#include <string>
#include <vector>
using namespace std;
double pow(double x,double y)
{
return pow(x,y);
}
int main()
{
vector<int> vec = { 8,7,3,2,5,7,8 };
vector<int> vec2 = {0,0,0,0,0,0,0,0,0,0,0,0};
vector<int>::iterator it, it2;
pair<vector<int>::iterator,vector<int>::iterator> pair_of_itr;
copy(vec.begin(),vec.end(),vec2.begin());//vec2的元素个数至少和vec 一样多
copy_n(vec.begin(),4,vec2.begin());
copy_backward(vec.begin(),vec.end(),vec2.end());//插入到vec2的结尾
move(vec.begin(),vec.end(),vec2);
move_backward(vec.begin(),vec.end(),vec2.end());
transform(vec.begin(), vec.end(), vec2.begin(), [](int x) {return x - 1; });
transform(vec.begin(), vec.end(), vec2.begin(), vec2.end(), [](int x, int y) {return x + y; });
swap_ranges(vec.begin(),vec.end(),vec2.begin());
vector<int> vec3 = {0,0,0,0};
fill(vec3.begin(),vec3.end(),3);
fill_n(vec3,3,9);
generate(vec.begin(),vec.end(),rand);//用随机数填充
replace(vec.begin(),vec.end(),6,1);
replace_if(vec.begin(), vec.end(), [](int x) {return x > 10; },8);
replace_copy(vec.begin (),vec.end(),vec2.begin(),1,2);
remove(vec.begin(),vec.end(),3);
remove_if(vec.begin(), vec.end(), [](int x) {return x > 10; });
unique(vec.begin(),vec.end());
unique_copy(vec.begin(),vec.end(),vec2.begin());
system("pause");
return 0;
}