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); //交换

  • 相关阅读:
    Linux入门第三天——more,less,head,tail,ls 用户权限
    linux 入门第一天
    python入门第八天 摘自--廖雪峰python课程
    python入门第七天
    匿名函数
    返回函数
    高阶函数之filter 和 sorted
    map,reduce高阶函数
    高阶函数 巩固
    装饰器
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7793431.html
Copyright © 2011-2022 走看看