现在的位置: 首页 > 综合 > 正文

adjacent_difference

2018年05月02日 ⁄ 综合 ⁄ 共 1256字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.