c++ STL常用遍历算法

 更新时间:2020年12月17日 11:17:27   作者:西西嘛呦  
这篇文章主要介绍了c++ STL常用遍历算法的实现,帮助大家更好的理解和使用c++,感兴趣的朋友可以了解下

需要引入头文件#include<algorithm>

1.for_each

#include<iostream>
using namespace std;
#include <vector>
#include <algorithm>

class MyPrint {
public:
 void operator()(int val) const{
  cout << val << " ";
 } 
};

void printVector(int val) {
 cout << val << " ";
}

void test() {
 vector<int> v1;
 for (int i = 0; i < 10; i++)
 {
  v1.push_back(i);
 }
 //利用普通函数
 for_each(v1.begin(), v1.end(), printVector);
 cout << endl;
 //利用仿函数
 for_each(v1.begin(), v1.end(), MyPrint());
 cout << endl;
}


int main() {
 test();
 system("pause");
 return 0;
}

2.transform:将容器搬运到另一个容器中

#include<iostream>
using namespace std;
#include <vector>
#include <algorithm>

class Transform {
public:
 int operator()(int val) const{
  //这里可以对val进行一些判断
  return val;
 } 
};
class MyPrint {
public:
 void operator()(int val) const {
  cout << val << " ";
 }
};

void test() {
 vector<int> v1;
 for (int i = 0; i < 10; i++)
 {
  v1.push_back(i);
 }
 vector<int> v2;
 //目标容器需要先开辟空间
 v2.resize(v1.size());
 transform(v1.begin(), v1.end(), v2.begin(), Transform());
 for_each(v2.begin(), v2.end(), MyPrint());
 cout << endl;
}


int main() {
 test();
 system("pause");
 return 0;
}

以上就是c++ STL常用遍历算法的详细内容,更多关于c++ 遍历算法的资料请关注脚本之家其它相关文章!

相关文章

  • C++简单又好用的基本运算符重载

    C++简单又好用的基本运算符重载

    继友元知识过后,就到了今天的C++运算符重载的内容了,运算符重载是C++里比较重要的内容。这篇博文不会一下子讲完各种运算符重载,因为太多了了也不好吸收掌握,所以运算符重载我准备分多次记录和分享,那么接下来进入正文
    2022-06-06
  • C++实现LeetCode(104.二叉树的最大深度)

    C++实现LeetCode(104.二叉树的最大深度)

    这篇文章主要介绍了C++实现LeetCode(104.二叉树的最大深度),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言详细讲解注释符号的使用

    C语言详细讲解注释符号的使用

    C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理
    2022-04-04
  • MFC修改编辑框光标显示位置方法详解

    MFC修改编辑框光标显示位置方法详解

    这篇文章主要介绍了在MFC中利用CComboBox控件修改编辑框光标显示位置的两种解决方法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-02-02
  • 深入理解C++中的文件操作

    深入理解C++中的文件操作

    这篇文章主要给大家深入的介绍了C++中的文件操作,文件的操作对每个程序员来说都是很重要的,本文的介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • C语言中网络地址与二进制数之间转换的函数小结

    C语言中网络地址与二进制数之间转换的函数小结

    这篇文章主要介绍了C语言中网络地址与二进制数之间转换的函数小结,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • C++超集C++/CLI模块的基本类型

    C++超集C++/CLI模块的基本类型

    这篇文章介绍了C++超集C++/CLI模块的基本类型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 基于Qt开发获取CTP量化交易接口测试数据工具

    基于Qt开发获取CTP量化交易接口测试数据工具

    这篇文章主要为大家详细介绍了如何使用Qt软件开发K线股P相关软件,先开发一个通过CTP量化交易的sdk获取相关推送数据的工具,需要的可以参考下
    2024-04-04
  • C++使用cjson操作Json格式文件(创建、插入、解析、修改、删除)

    C++使用cjson操作Json格式文件(创建、插入、解析、修改、删除)

    本文主要介绍了C++使用cjson操作Json格式文件(创建、插入、解析、修改、删除),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C指针原理教程之AT&T汇编

    C指针原理教程之AT&T汇编

    AT&T 汇编是一种和intel汇编在语法上完全不同的汇编语言,为避免混淆intel语法,本文只介绍AT&T汇编,AT&T的第一个特点就是每个寄存器名前必须加‘%’,立即数前必须加‘$’
    2019-02-02

最新评论