本文主要是介绍STL中常用的两种遍历算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include <bits/stdc++.h>
using namespace std;
class myprintf
{
public:
void operator()(int val)
{
cout << val << " ";
}
};
class mytransform
{
public:
int operator()(int val)
{
return val + 1;
}
};
/*
stl中两种常用的遍历算法的基本用法
for_each
transform
*/
int main()
{
int num = 10;
srand((int)time(0));
//给源容器填入数据
vector<int> v_source;
for (int i = 0; i < num; i++)
{
v_source.push_back(rand() % 100);
}
//遍历原容器
for_each(v_source.begin(), v_source.end(), myprintf());
vector<int> v_object(num);
//将源容器的数据搬运至目标容器(可以在仿函数中进行逻辑操作)
transform(v_source.begin(), v_source.end(), v_object.begin(), mytransform());
//遍历目标容器
cout << endl;
for_each(v_object.begin(), v_object.end(), myprintf());
}
这篇关于STL中常用的两种遍历算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!