accumulate

accumulate

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

accumulate?就是sum up a range of elements。呵呵。这个挺简单的。以下是这个算法的简单介绍:

Syntax:
#include <numeric>//呵呵,使用这个算法这个头文件是必需要包含进来滴!
TYPE accumulate( input_iterator start, input_iterator end, TYPE val );
TYPE accumulate( input_iterator start, input_iterator end, TYPE val, BinaryFunction f );

The accumulate function computes the sum of val and all of the elements in the range [start,end).
If the binary function f is specified, it is used instead of the + operator to perform the summation.
The accumulate function runs in linear time. //我看了非常久,linear time 应该说的这个算法的复杂度是O(n)吧,呵呵~~~百度之貌似没有结果。

 

嗯,废话少说,以下来看它的应用。用这个算法来计算1到100的和。

毫无疑问,它的执行结果是”sum from 1 to 100 is 5050″值得注意的是,TYPE accumulate( input_iterator start, input_iterator end, TYPE val );val也是要加进去滴!上面是0,肯定等于没加!

当然,这个程序我们一般用个for循环解决就是,干嘛还要这么大费周折呢。呵呵,事实上 accumulate 可爱的地方不只在于对于数字运算支持,对于非数值运算也是支持的!

The accumulate function can also be used on non-numerical types. The following example uses accumulate to concatenate all of the strings in a vector into a single string:

 

 

呵呵,第一个STL C++ Algorithms accumulate 算法介绍完成!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118292.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Microsoft Office 2007 中文专业版密钥

    Microsoft Office 2007 中文专业版密钥MicrosoftOffice2007中文专业版(微软原版)正版密钥MicrosoftOfficeVisio2007简体中文专业版:简介:    便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流。使用具有专业外观的OfficeVisio2007图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。迅雷下载    …

    2022年7月19日
    18
  • 学生信息管理系统数据库课程设计「建议收藏」

    学生信息管理系统数据库课程设计「建议收藏」一.概述学生信息管理系统是学校管理的重要工具,是学校不可或缺的一部分。随着在校人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂,资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着众多的弊端,如:保密性差.查询不便.效率低,很难维护和更新等,然而,本系统针对以上的缺点能够极大的提高学生信息管理的效率,也是科学化.正规化的管理,与世界接轨…

    2022年5月19日
    39
  • IrDA红外通信模块[通俗易懂]

    IrDA红外通信模块[通俗易懂]https://blog.csdn.net/XiaoCaiDaYong/article/details/82596872?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachine

    2025年6月10日
    0
  • Git查看当前分支_git查看远程分支上的文件

    Git查看当前分支_git查看远程分支上的文件gitbranch-vv

    2022年8月22日
    5
  • Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)

    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)

    2022年3月7日
    37
  • 计算机入门新人必学,电脑新手入门教程 让你快速上手

    计算机入门新人必学,电脑新手入门教程 让你快速上手随着互联网时代的快速发展,电脑发展也相当的成熟,新手学电脑可以快速入门,是每个新手梦寐以求的事情,但是不会所有人都可以快速上手,最近很多用户咨询我关于零基础学电脑先学什么,或者是电脑新手入门必学什么东西,那么接下来,我就给大家精心准备了电脑新手入门教程,大家一起来看看吧。电脑新手入门教程1、第一步是鼠标演练,先要熟悉拖动、复制、粘贴、移动等,主要训练自己对功能的了解和熟练度。2、开始学习用键盘打字…

    2022年6月16日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号