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

  • 相关阅读:
    消息中间件三、RabbitMQ学习一
    消息队列学习一 概念
    发送网络请求调用第三方接口(spring boot框架)
    动态生成javaBean
    达梦dm数据库远程备份与恢复
    springboot定时任务的使用
    抽象与接口
    电商网站后台九大功能模块详解
    面向对象设计—类和对象
    常用的数据结构—数组
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7793431.html
Copyright © 2011-2022 走看看