您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页常用的遍历算法

常用的遍历算法

来源:图艺博知识网

一、常用的遍历算法

1、for_each

2、transform

transform(b1,e1,b2,op)      //把一个区间[b1,e1)内的数据经过(op)转化,放入以b2开头的第二个容器内

                                          //也就是复制+修改(变换),当然b2可以等于b1

transform(b1,e1,b2,b3,op)   //把两个集合里的数据整合(op)到第三个集合,当然b3=b2=b1也可以

注意:

    1、如果目标与源相同,transform()就和for_each()一样;

    2、如果想以某值替换符合规则的元素,应使用replace()算法。

二、案例

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

//transform 将一个容器的元素 搬运到 另一个容器中
struct MyPlus
{
    int operator()(int val)
    {
        return val + 100;
    }
};
void MyPrint(int val)
{
    cout << val << " ";
}
void test01()
{
    vector<int> v1;
    vector<int> v2;

    for (int i = 0;i < 10;i++)
    {
        v1.push_back(i);
    }

    v2.resize(v1.size());//开辟空间

    transform(v1.begin(), v1.end(), v2.begin(), MyPlus());
    for_each(v2.begin(), v2.end(), MyPrint);//100 101 102 103 104 105 106 107 108 109
    cout << endl;
}

int main(void)
{
    test01();
    return 0;
}

 

转载于:https://www.cnblogs.com/yuehouse/p/10120861.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务