zoukankan      html  css  js  c++  java
  • C++ STL 常用算术和生成算法

    C++ STL 常用算术和生成算法

    accumulate()

    accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值。

    #include<numeric>

    vector<int> vecIntA;
    vecIntA.push_back(1);
    vecIntA.push_back(3);
    vecIntA.push_back(5);
    vecIntA.push_back(7);
    vecIntA.push_back(9);
    int iSum = accumulate(vecIntA.begin(), vecIntA.end(), 100); //iSum==125

    fill()

    fill: 将输入值赋给标志范围内的所有元素。

    vector<int> vecIntA;
    vecIntA.push_back(1);
    vecIntA.push_back(3);
    vecIntA.push_back(5);
    vecIntA.push_back(7);
    vecIntA.push_back(9);
    fill(vecIntA.begin(), vecIntA.end(), 8); //8, 8, 8, 8, 8常用的集合算法

    set_union(),set_intersection(),set_difference()

    set_union: 构造一个有序序列,包含两个有序序列的并集。

    set_intersection: 构造一个有序序列,包含两个有序序列的交集。

    set_difference: 构造一个有序序列,该序列保留第一个有序序列中存在而第二个有 序序列中不存在的元素。

    vector<int> vecIntA;
    vecIntA.push_back(1);
    vecIntA.push_back(3);
    vecIntA.push_back(5);
    vecIntA.push_back(7);
    vecIntA.push_back(9);

    vector<int> vecIntB;
    vecIntB.push_back(1);
    vecIntB.push_back(3);
    vecIntB.push_back(5);
    vecIntB.push_back(6);
    vecIntB.push_back(8);

    vector<int> vecIntC;
    vecIntC.resize(10);

    //并集
    set_union(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(), vecIntC.begin()); //vecIntC : {1,3,5,6,7,8,9,0,0,0}

    //交集
    fill(vecIntC.begin(),vecIntC.end(),0);
    set_intersection(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(), vecIntC.begin()); //vecIntC: {1,3,5,0,0,0,0,0,0,0}

    //差集
    fill(vecIntC.begin(),vecIntC.end(),0);
    set_difference(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(), vecIntC.begin()); //vecIntC: {7,9,0,0,0,0,0,0,0,0}

  • 相关阅读:
    动漫评书
    Mycat高可用解决方案二(主从复制)
    Mycat高可用解决方案一(mysql安装)
    基于开源博客系统(mblog)搭建网站
    七、Docker启动tocmat 8
    Kotlin开发springboot项目(三)
    Kotlin开发springboot项目(二)
    Kotlin开发springboot项目(一)
    mybatis总结
    VUE学习总结
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7793466.html
Copyright © 2011-2022 走看看