zoukankan      html  css  js  c++  java
  • C++ STL 常用拷贝和替换算法

    C++ STL 常用拷贝和替换算法

    copy() 复制

    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.resize(5); //扩大空间
    copy(vecIntA.begin(), vecIntA.end(), vecIntB.begin()); //vecIntB: {1,3,5,7,9}

    replace() 

    replace(beg,end,oldValue,newValue): 将指定范围内的所有等于oldValue的元素替 换成newValue。

    vector<int> vecIntA;
    vecIntA.push_back(1);
    vecIntA.push_back(3);
    vecIntA.push_back(5);
    vecIntA.push_back(3);
    vecIntA.push_back(9);
    replace(vecIntA.begin(), vecIntA.end(), 3, 8); //{1,8,5,8,9}

    replace_if() 

    replace_if : 将指定范围内所有操作结果为true的元素用新值替换。

    用法举例:
    replace_if(vecIntA.begin(),vecIntA.end(),GreaterThree,newVal)
    其中 vecIntA是用vector<int>声明的容器
    GreaterThree 函数的原型是 bool GreaterThree(int iNum)

    //把大于等于3的元素替换成8
    vector<int> vecIntA;
    vecIntA.push_back(1);
    vecIntA.push_back(3);
    vecIntA.push_back(5);
    vecIntA.push_back(3);
    vecIntA.push_back(9);
    replace_if(vecIntA.begin(), vecIntA.end(), GreaterThree, 8); // GreaterThree的定义在上面。

    swap()

    swap: 交换两个容器的元素

    vector<int> vecIntA;
    vecIntA.push_back(1);
    vecIntA.push_back(3);
    vecIntA.push_back(5);
    vector<int> vecIntB;
    vecIntB.push_back(2);
    vecIntB.push_back(4);
    swap(vecIntA, vecIntB); //交换

  • 相关阅读:
    windows补丁更新列表
    centos7网卡配置vlan
    exp备份工具使用说明
    windows系统SSL/TLS漏洞修复
    CDH平台:ZooKeeper 未授权访问【原理扫描】漏洞修复
    MySQL升级至5.7.35问题处理过程
    10fb does not support flow control autoneg问题处理
    vCenter异常日志:pg_tblspc找不到数据文件
    tcpdump命令
    排序算法总结
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7793431.html
Copyright © 2011-2022 走看看