目录1.for_each功能描述函数原型2.transfORM功能描述函数原型1.for_each 功能描述 实现容器遍历 函数原型 for_each(itertor beg,ite
实现容器遍历
for_each(itertor beg,iterator end,_func);
//遍历算法 遍历容器元素
//beg 开始迭代器
//end 结束迭代器
//_func函数或者函数对象
代码
#include <iOStream>
using namespace std;
#include <vector>
#include <alGorithm>
//普通函数
void print01 (int val)
{
cout<< val << " ";
}
//放寒暑
class print02
{
public:
void operator()(int val)
{
cout<< val << " ";
}
};
void test01()
{
vector<int>v;
for(int i = 0;i < 10;i ++)
{
v.push_back(i);
}
for_each(v.begin(),v.end(),print01);
cout<<endl;
for_each(v.begin(),v.end(),print02());
cout<<endl;
}
int main()
{
test01();
}
运行结果
搬运容器到另一个容器
transform (iterator beg1,iterator endl, iterator beg2,_func);
//beg1 源容器开始迭代器
//end1 源容器结束迭代器
//beg2 目标函数开始迭代器
//_func 函数或者函数对象
代码
#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
class Transform
{
public:
int operator()(int v)
{
return v;
}
};
class MyPrint{
public:
void operator()(int val)
{
cout<< val <<" ";
}
};
void test01()
{
vector<int>v;
for(int i = 0;i < 10;i ++)
{
v.push_back(i);
}
vector<int>vTarget; //目标函数
vTarget.resize(v.size()); //目标容器要提前开辟空间
transform(v.begin(), v.end(), vTarget.begin(),Transform());
for_each(vTarget.begin(),vTarget.end(), MyPrint());
cout<<endl;
}
int main()
{
test01();
}
运行结果
到此这篇关于c++ STL中的常用遍历算法分享的文章就介绍到这了,更多相关C++ STL遍历算法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: C++STL中的常用遍历算法分享
本文链接: https://lsjlt.com/news/175378.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0