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++字符串没有split函数,所以字符串分割单词的时候必须自己手写,也相当于自己实现一个split函数吧!下面跟小编一起来看看如何实现这个功能。
    2016-08-08
  • C++ OpenCV制作哈哈镜图像效果

    C++ OpenCV制作哈哈镜图像效果

    这篇文章主要介绍了使用OpenCV C++ 制作哈哈镜图像特效。其原理就是让图像像素扭曲,将像素重新进行映射。感兴趣的可以跟随小编一起试一试
    2022-01-01
  • Qt多线程实现网络发送文件功能

    Qt多线程实现网络发送文件功能

    这篇文章主要为大家详细介绍了Qt多线程实现网络发送文件功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C++火车入轨算法的实现代码

    C++火车入轨算法的实现代码

    这篇文章主要介绍了C++火车入轨算法的实现代码,有需要的朋友可以参考一下
    2013-12-12
  • C++输入流和输出流 超级详细

    C++输入流和输出流 超级详细

    C++ 的开发者认为数据输入和输出的过程也是数据传输的过程,数据像水一样从一个地方流动到另一个地方,所以 C++ 中将此过程称为“流”,实现此过程的类称为“流类”。下面小编将详细介绍这个话题,需要的朋友可以参考一下
    2021-09-09
  • C++函数模板与重载解析超详细讲解

    C++函数模板与重载解析超详细讲解

    模板是C++最重要的设计。这篇文章讲的是函数模板,只是简单介绍模板的一些功能,关于模板的更多的内容会在类模板中详细介绍。文章还着重介绍了重载解析过程
    2022-08-08
  • C++ 函数重载详情介绍

    C++ 函数重载详情介绍

    这篇文章主要介绍了C++ 函数重载详情,函数重载还有一个别名叫函数多态,函数多态是C++在C语言基础上的新特性,它可以让我们使用多个同名函数,下面来看看文章具体内容的介绍
    2021-11-11
  • 二分图匹配实例代码及整理

    二分图匹配实例代码及整理

    这篇文章主要介绍了二分图匹配实例代码及整理的相关资料,这里提供了三种方法包括匈牙利算法,KM算法,多重匹配,需要的朋友可以参考下
    2017-07-07
  • C/C++杂记 虚函数的实现的基本原理(图文)

    C/C++杂记 虚函数的实现的基本原理(图文)

    这篇文章主要介绍了C/C++杂记 虚函数的实现的基本原理(图文),需要的朋友可以参考下
    2016-06-06
  • 5分钟内了解C语言的指针

    5分钟内了解C语言的指针

    这篇文章主要介绍了5分钟内了解C语言的指针,本文讲解了指针、引用和取值、void指针、NULL指针和未初始化指针、指针和数组等内容,需要的朋友可以参考下
    2015-01-01

最新评论