当前位置: 首页 > news >正文

STL——遍历算法

1.for_each

函数原型:

  • for_each(iterator beg, iterator end, _func);——// 遍历算法 遍历容器元素; beg 开始迭代器;end 结束迭代器; _func 函数或者函数对象
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//for_each——遍历算法
//普通函数
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);}//print01——普通函数直接传入for_each(v.begin(), v.end(), print01);cout << endl;//print02()——仿函数传入匿名对象for_each(v.begin(), v.end(), print02());
}
int main()
{test01();system("pause");return 0;
}

 注:for_each是实际开发中最常用的遍历算法

2.transform

函数原型:

  • transform(iterator beg1, iterator end1, iterator beg2, _func);——//beg1 源容器开始迭代器;end1 源容器结束迭代器;beg2 目标容器开始迭代器;_func 函数或者函数对象
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//transform——遍历算法
class Transform
{
public:int operator()(int val){return val;}
};
class Print
{
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>vt;//目标容器vt.resize(v.size());//目标容器需要提前开辟空间transform(v.begin(), v.end(), vt.begin(), Transform());for_each(vt.begin(), vt.end(), Print());
}
int main()
{test01();system("pause");return 0;
}

 注:搬运的目标容器必须要提前开辟空间,否则无法正常运行。

http://www.lryc.cn/news/269799.html

相关文章:

  • C语言经典算法【每日一练】20
  • Linux磁盘阵列
  • 本地网络禁用了在哪里开启?
  • [mysql 基于C++实现数据库连接池 连接池的使用] 持续更新中
  • 【Flink SQL API体验数据湖格式之paimon】
  • idea导入spring-framework异常:error: cannot find symbol
  • Unity坦克大战开发全流程——开始场景——开始界面
  • 【SpringCloud】从实际业务问题出发去分析Eureka-Server端源码
  • Java 代理模式
  • 【Java干货教程】JSON,JSONObject,JSONArray类详解
  • 2023年高级软考系统架构师考题参考
  • 【c语言】飞机大战(1)
  • 关于 K8s 的一些基础概念整理
  • Node.js-fs、path、http模块
  • CentOS 安装WebLogic
  • Linux命令的操作练习
  • 杰发科技AC7840——EEPROM初探
  • WPF 基础入门(简介)
  • 【Unity动画系统】Animator有限状态机参数详解
  • php获取访客IP、UA、操作系统、浏览器等信息
  • 基于huffman编解码的图像压缩算法matlab仿真
  • python+django网上购物商城系统o9m4k
  • 面试题-性能优化
  • 自身文档管理规范
  • php学习05-常量
  • MFC:如何将JPEG等图片显示到对话框客户区
  • MIUI解BL锁+刷系统教程
  • 数据结构和算法笔记3:双指针法(快慢指针)
  • 股票价格预测 | Python实现Autoformer, FEDformer和PatchTST等模型用于股价预测
  • Git基础学习_p1