zoukankan      html  css  js  c++  java
  • C++ for_each() 算法

    C++ for_each() 算法

    for_each()算法非常灵活,它允许你以不同的方式访问、处理、修改每一个元素,自C++11起,for循环提供了更方便更自然的行为,因此,for_each()恐将日渐丧失其重要性。

    algostuff.hpp

    #ifndef ALGOSTUFF_HPP
    #define ALGOSTUFF_HPP
    
    #include <array>
    #include <vector>
    #include <deque>
    #include <list>
    
    #include <forward_list>
    #include <set>
    #include <map>
    #include <unordered_set>
    #include <unordered_map>
    
    #include <algorithm>
    #include <iterator>
    #include <functional>
    #include <numeric>
    #include <iostream>
    #include <string>
    
    //集合中添加元素
    template <typename T>
    inline void INSERT_ELEMENTS(T& coll, int first, int last)
    {
        for (int i=first;i<=last;++i)
        {
            coll.insert(coll.end(),i);
        }
    }
    
    //输出集合中的元素
    template <typename T>
    inline void PRINT_ELEMENTS(const T& coll,const std::string & optcstr="")
    {
        std::cout << optcstr;
        for (auto elem:coll)
        {
            std::cout << elem << '  ';
        }
        std::cout << std::endl;
    }
    
    //输出Map中的元素
    template<typename T>
    inline void PRINT_MAPPED_ELEMENTS(const T& coll, const std::string& optcstr = "")
    {
        std::cout << optcstr;
        for (auto elem:coll)
        {
            std::cout << "[" << elem.first << "," << elem.second << "]  "; 
        }
        std::cout << std::endl;
    }
    #endif // !ALGOSTUFF_HPP

    main.cpp

    #include "algostuff.hpp"
    using namespace std;
    
    int main()
    {
        vector<int> vec1;
        INSERT_ELEMENTS(vec1,1,12);
    
        for_each(vec1.cbegin(), vec1.cend(), 
            [](int elem) 
            {
                cout << elem << "  "; 
        });
    
    
    
        system("pause");
        return 0;
    }

    1 2 3 4 5 6 7 8 9 10 11 12

    请按任意键继续. . .

    代码参考:C++标准库(第2版)

  • 相关阅读:
    UPD通信
    异常处理
    网络编程-套接字(socket)
    数据分析(一)
    爬虫存储库之mongodb数据库(四)
    爬虫请求库selenium(三)
    爬虫解析库beautifulsoup(二)
    爬虫简介与request库(一)
    flask框架数据库之SQLAlchemy
    flask框架(四)
  • 原文地址:https://www.cnblogs.com/herd/p/12129665.html
Copyright © 2011-2022 走看看