adjacent_difference

Syntax:

    #include <numeric>
    output_iterator adjacent_difference( input_iterator start, input_iterator end, output_iterator result );
    output_iterator adjacent_difference( input_iterator start, input_iterator end, output_iterator result, BinaryFunction f );

The adjacent_difference() function calculates the differences between adjacent elements in the range [start,end) and stores the result starting at result. (Specifically, the element at start will be copied to result; and then the difference between the element at start + i and start + (i-1) will be stored at result + i.)

If a binary function f is given, it is used instead of the - operator to compute the differences. adjacent_difference() runs in linear time.

Following example displays the differences between adjacent elements in a vector.

这个算法的意思是,计算一个数组里面的元素的“差别”,第一个元素呢,不变,然后用第i(i>=2)个元素减去前面那个值,把所得的结果存在第i个位置。废话少说,看源码演示:

毫无疑问,When run, this code displays the following output:

10 3 6 4 7 4 6 4 3 891
10 -7 3 -2 3 -3 2 -2 -1 888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值