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;});
  • 相关阅读:
    [转]jQuery知识总结
    sqlserver2008 函数1
    使用触发器生成流水号
    日期格式
    数据库正在使用,删除不了的问题
    continue 语句
    逻辑语句和函数
    ASP.NET中的随机密码生成
    相对路径
    “基类包括字段,但其类型与控件的类型不兼容”的解决方法
  • 原文地址:https://www.cnblogs.com/maycpou/p/14471346.html
Copyright © 2011-2022 走看看