for_each(iterator beg,iterator end,_func)
beg开始迭代器
end结束迭代器
——func函数或函数对象
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
//for_each遍历算法
void print(int val)
{
cout << val << " ";
}
class print1
{
public:
void operator()(int val)
{
cout << val << " ";
}
};
void test1()
{
vector<int>v;
v.push_back(1);
v.push_back(2);
v.push_back(2);
v.push_back(3);
//用普通函数
for_each(v.begin(), v.end(), print);
//用仿函数
for_each(v.begin(), v.end(), print1());
}
transform(iterator beg1,iterator end1,iterator beg2,_func)
beg1原容器起始位置
end1原容器终止位置
beg2接收容器起始位置
_func运算函数
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
//transform遍历算法
class transform1
{
public:
int operator()(int v)
{
return v;
}
};
void test1()
{
vector<int>v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
vector<int>v2;
//目标容器需要提前开辟空间
v2.resize(v.size());
transform(v.begin(), v.end(), v2.begin(), transform1());
}