返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++STL中的常用遍历算法分享
  • 414
分享到

C++STL中的常用遍历算法分享

C++STL遍历算法C++遍历算法C++STL 2022-12-20 18:12:29 414人浏览 泡泡鱼
摘要

目录1.for_each功能描述函数原型2.transfORM功能描述函数原型1.for_each 功能描述 实现容器遍历 函数原型 for_each(itertor beg,ite

1.for_each

功能描述

实现容器遍历

函数原型

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();
} 

运行结果

2.transform

功能描述

搬运容器到另一个容器

函数原型

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

猜你喜欢
  • C++STL中的常用遍历算法分享
    目录1.for_each功能描述函数原型2.transform功能描述函数原型1.for_each 功能描述 实现容器遍历 函数原型 for_each(itertor beg,ite...
    99+
    2022-12-20
    C++ STL遍历算法 C++ 遍历算法 C++ STL
  • C++ STL中常用算法怎么使用
    这篇文章主要讲解了“C++ STL中常用算法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++ STL中常用算法怎么使用”吧!前言在C++中使用STL算法都要包...
    99+
    2023-06-21
  • C++ STL中常见的算法使用方式
    目录什么是STL?0. < algorithm> 是什么:1. Non-modifying sequence operations:1.1 find:(Find valu...
    99+
    2024-04-02
  • 浅析STL中的常用算法
    一、非变异算法 是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。非变异算法具有极为广泛的适用性,基本上可应用与各种容器。 1查找容器元素...
    99+
    2022-11-15
    STL 算法
  • Python二叉树的定义及常用遍历算法分析
    本文实例讲述了Python二叉树的定义及常用遍历算法。分享给大家供大家参考,具体如下: 说起二叉树的遍历,大学里讲的是递归算法,大多数人首先想到也是递归算法。但作为一个有理想有追求的程序员。也应该学学非递归...
    99+
    2022-06-04
    遍历 算法 定义
  • C语言数据结构与算法图的遍历分析
    这篇文章主要介绍“C语言数据结构与算法图的遍历分析”,在日常操作中,相信很多人在C语言数据结构与算法图的遍历分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言数据结构与算法图的遍历分析”的疑惑有所帮助!...
    99+
    2023-06-22
  • JavaScritp中二叉树遍历算法的示例分析
    这篇文章主要为大家展示了“JavaScritp中二叉树遍历算法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScritp中二叉树遍历算法的示例...
    99+
    2024-04-02
  • C/C++ 常用排序算法整理汇总分享
    目录(伪)冒泡排序算法:(真)冒泡排序算法:选择排序算法:直接插入排序:(分组)希尔排序:归并排序算法:迭代归并排序:迭代归并排序2:技巧01:冒泡排序技巧02:选择排序技巧03:直...
    99+
    2024-04-02
  • JavaScript中深度优先遍历和广度优先遍历算法的示例分析
    这篇文章主要为大家展示了“JavaScript中深度优先遍历和广度优先遍历算法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中深度...
    99+
    2024-04-02
  • Java中的ArrayList类常用方法和遍历
    目录ArrayList类常用方法和遍历常用的方法有ArrayList类方法总结关于ArrayList常用方法总结构建ArrayList添加元素删除元素查找元素获取元素获取ArrayL...
    99+
    2024-04-02
  • 使用Python实现树的遍历算法和类型的树的遍历
    树遍历意味着访问树中的每个节点。和线性数据结构单一的遍历方式不同,二叉树是分层式数据结构可以以不同的方式遍历。 树遍历结构特点 1、每个树的节点都承载一个数据 2、每个树下都有2个子树 树遍历有三种类型 1、中序遍历 先遍历左子树...
    99+
    2024-01-23
  • C++ STL中五个常用算法使用教程及实例讲解
    目录前言sort()排序常用遍历算法for_each()常用遍历算法 搬运transform()查找算法find删除操作erase()实例应用前言 在C++中使用STL算法都要包含一...
    99+
    2024-04-02
  • C#中怎么实现一个二叉树遍历算法
    这篇文章给大家介绍C#中怎么实现一个二叉树遍历算法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#算法实现了二叉树的定义,怎么构造一颗已知的二叉树,用几种常规的算法(先序,中序,后序,层次)进行C#二叉树遍历。希望能...
    99+
    2023-06-18
  • C++ 递归遍历文件并计算MD5的方法
    这篇文章主要介绍“C++ 递归遍历文件并计算MD5的方法”,在日常操作中,相信很多人在C++ 递归遍历文件并计算MD5的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++ 递归遍历文件并计算MD5的方法...
    99+
    2023-06-20
  • C#中Foreach循环遍历的示例分析
    这篇文章给大家分享的是有关C#中Foreach循环遍历的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、创建一个控制台应用程序2、编写测试代码并分析在Program类中写一个foreach循环class...
    99+
    2023-06-20
  • Java 二叉树遍历的常用方法
    目录递归方式非递归方式层次遍历总结采用前序遍历、中序遍历、后续遍历实现时,即便采用不同的实现方式(递归方式、非递归),它们的算法结构是有很大的相似性。因而针对前三种的遍历我们会总结出...
    99+
    2024-04-02
  • C++ STL 中的数值算法示例讲解
    目录1.iota2.accumulate3.partial_sum4.adjacent_difference5.inner_product以下算法均包含在头文件 numeric 中 ...
    99+
    2024-04-02
  • JavaScript中的遍历用法介绍
    本篇内容介绍了“JavaScript中的遍历用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对象遍历...
    99+
    2024-04-02
  • JavaMorris遍历算法及其在二叉树中的应用
    目录一.Morris遍历1.什么是Morris遍历2.基本思想3.Morris遍历的优点和缺点4.二叉树的线索化二.中序Morris遍历1.中序Morris遍历的分析2.中序Morr...
    99+
    2023-05-18
    Java Morris遍历算法 Java Morris遍历
  • C++实现图的遍历算法(DFS,BFS)的示例代码
    目录图的定义图的相关术语图的创建(邻接矩阵)---结构体图的创建(邻接矩阵)---邻接矩阵的创建图的创建(邻接表)---结构体图的创建(邻接表)---邻接表的创建对邻接矩阵进行深度优...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作