1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #include <numeric>
std::vector<int> vec = {1, 2, 3, 4, 5};
// 累加
int sum = std::accumulate(vec.begin(), vec.end(), 0);
int product = std::accumulate(vec.begin(), vec.end(), 1,
std::multiplies<int>());
// 内积
std::vector<int> vec2 = {2, 3, 4, 5, 6};
int dot_product = std::inner_product(vec.begin(), vec.end(),
vec2.begin(), 0);
// 部分和
std::vector<int> partial_sums;
std::partial_sum(vec.begin(), vec.end(),
std::back_inserter(partial_sums));
// 相邻差
std::vector<int> differences;
std::adjacent_difference(vec.begin(), vec.end(),
std::back_inserter(differences));
|