zoukankan      html  css  js  c++  java
  • stl(21)内置算法copy replace replace_if swap

    1.copy的用法

    copy用于将容器内指定范围的元素拷贝到另一容器  #include <algorithm>

    #include <iostream>
    #include <vector>
    #include <algorithm>
    int main(){
        std::vector<int> vec0;
        for(int i = 0;i<10;i++){
            vec0.push_back(i);
        }
        std::vector<int> vec1;
        vec1.resize(10);
        std::copy(vec0.begin(),vec0.end(),vec1.begin());
        std::for_each(vec1.begin(),vec1.end(),[](int i ){std::cout<<i<<std::endl;});
        return 0;
    }
     
    2.replace
    replace用于将容器中指定范围内的旧元素替换为新元素, #include <algorithm>
     std::vector<int> vec0;
        for(int i = 0;i<10;i++){
            vec0.push_back(i);
        }
      std::replace(vec0.begin(),vec0.end(),3,300);
        std::for_each(vec0.begin(),vec0.end(),[](int i ){std::cout<<i<<std::endl;});
     
    3.replace_if的用法
    replace_if用于按照指定的条件将容器中满足条件的旧元素替换为指定的新元素
     std::vector<int> vec0;
        for(int i = 0;i<10;i++){
            vec0.push_back(i);
        }
    std::replace_if(vec0.begin(),vec0.end(),[](int i){return i>3;},3000);
    std::for_each(vec0.begin(),vec0.end(),[](int i){std::cout<<i<<std::endl;});
     
    3.swap的用法
    swap用于交换两个容器中的所有元素,#include <algorithm>
     std::vector<int> vec0;
        for(int i = 0;i<10;i++){
            vec0.push_back(i);
        }
        std::vector<int> vec2(5,10);
        std::swap(vec0,vec2);
        std::for_each(vec2.begin(),vec2.end(),[](int i ){std::cout<<i<<std::endl;});
  • 相关阅读:
    Oracle 11g+Windows10 x64安装、配置过程记录
    json工具类
    restTemplate工具类
    VirtualBox中安装CentOS 7后无法上网问题
    VirtualBox中安装CentOS 7
    idea安装完成后要做的几件事(设置字体、编码、行号)
    MiniUI学习笔记1-新手必读
    BUU-[GKCTF2020]WannaReverse
    BUU-Dragon Quest
    BUU-EzObfus-Chapter2
  • 原文地址:https://www.cnblogs.com/maycpou/p/14471346.html
Copyright © 2011-2022 走看看