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;});
  • 相关阅读:
    Android Studio教程-创建第一个项目Hello World
    java打jar包的几种方式详解
    低学历者如何逆袭
    strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l, setlocale(LC_CTYPE, "Japanese_Japan")(MSDN的官方示例)
    select, poll, epoll
    KVM虚拟化知识的一些笔记
    在Windows系统上以C++打印出当前活动用户的环境变量
    日志组件解析
    Angular2案例rebirth开源
    视图
  • 原文地址:https://www.cnblogs.com/maycpou/p/14471346.html
Copyright © 2011-2022 走看看