zoukankan      html  css  js  c++  java
  • STL—常用算术生成算法

    常用算术生成算法

    学习目标:

    • 掌握常用的算术生成算法

    注意:

    • 算术生成算法属于小型算法,使用时包含的头文件为 #include <numeric>

    算法简介:

    • accumulate // 计算容器元素累计总和

    • fill // 向容器中添加元素

    1 accumulate

    功能描述:

    • 计算区间内 容器元素累计总和

    函数原型:

    • accumulate(iterator beg, iterator end, value);

      // 计算容器元素累计总和

      // beg 开始迭代器

      // end 结束迭代器

      // value 起始累加值

    示例:

    #include <numeric>
    #include <vector>
    void test01()
    {
    	vector<int> v;
    	for (int i = 0; i <= 100; i++) {
    		v.push_back(i);
    	}
    
        //第三个参数是起始累加值
    	int total = accumulate(v.begin(), v.end(), 0);
    
    	cout << "total = " << total << endl;
    }
    
    int main() {
    
    	test01();
    
    	system("pause");
    
    	return 0;
    }
    

    总结:accumulate使用时头文件注意是 numeric,这个算法很实用

    2 fill

    功能描述:

    • 向容器中填充指定的元素

    函数原型:

    • fill(iterator beg, iterator end, value);

      // 向容器中填充元素

      // beg 开始迭代器

      // end 结束迭代器

      // value 填充的值

    示例:

    #include <numeric>
    #include <vector>
    #include <algorithm>
    
    class myPrint
    {
    public:
    	void operator()(int val)
    	{
    		cout << val << " ";
    	}
    };
    
    void test01()
    {
    
    	vector<int> v;
    	v.resize(10);
    	//填充
    	fill(v.begin(), v.end(), 100);
    
    	for_each(v.begin(), v.end(), myPrint());
    	cout << endl;
    }
    
    int main() {
    
    	test01();
    
    	system("pause");
    
    	return 0;
    }
    

    总结:利用fill可以将容器区间内元素填充为 指定的值

    吾生也有涯,而知也无涯
  • 相关阅读:
    项目职责
    hibernate配置文件hibernate.cfg.xml的详细解释
    Hibernate环境搭建
    struts2标签使用详解
    EL表达式
    getparameter()和getattribution()的区别的 java详细
    形式参数和实在参数
    JSTL详解实例
    论文ei,sci检索,JCR-SCI分区,中科院分区连接
    随机森林实例
  • 原文地址:https://www.cnblogs.com/daimasanjiaomao/p/13998258.html
Copyright © 2011-2022 走看看