- 对容器进行填充
1 void show(int x) 2 { 3 cout << x << endl; 4 }
1 int a[10]; 2 //指定一个数据开始,对a进行填充 3 iota(a, a + 10, 1); 4 5 for_each(a, a + 10, show);
- 容器两个元素进行计算
1 //数组两个元素计算 2 cout << accumulate(a, a + 10, -1, [](int x, int y) {return x * y; }) << endl;
- 内积
1 int a1[3] = { 1,2,3 }; 2 int b1[3] = { 4,5,6 }; 3 //实现两个数组对应的位置相乘,然后相加,(内积)最后边的0是计算完再加一个0 4 int res = inner_product(a1, a1 + 3, b1, 0); 5 cout << res << endl;
- 乘方
1 cout << pow(2, 10) << endl;
- 求相邻元素之差与之积
1 int a2[5] = { 1,12,3,14,5 }; 2 int res[5]; 3 //求相邻元素之差 4 adjacent_difference(a2, a2 + 5, res); 5 for_each(res, res + 5, [](int x) {cout << x << endl; }); 6 //求相邻元素之积 7 adjacent_difference(a2, a2 + 5, res, [](int a, int b) {return a * b; });
- 求一个容器的和与积,并把过程保存在一个数组中
1 int a[5] = { 1,23,4,5,6 }; 2 int v[5]; 3 //计算和到v中 4 partial_sum(a, a + 5, v); 5 6 for_each(v, v + 5, [](int x) {cout << x << endl; }); 7 8 //计算积到v中 9 partial_sum(a, a + 5, v, [](int a,int b) {return a*b}); 10 11 for_each(v, v + 5, [](int x) {cout << x << endl; });