第十五周项目—阅读程序(3)
来源:互联网 发布:社交网络 肖恩帕克 编辑:程序博客网 时间:2024/05/22 07:52
/**Copyright(c) 2016.烟台大学计算机与控制工程学院*ALL rights reserved.*文件名称:test.cpp*作者:杨驰*完成日期:2016年6月5*问题描述:阅读下面的程序*/#include <algorithm>#include <functional>#include <vector>#include <iostream>#include <numeric>#include <iterator>using namespace std;int main(){ int a[] = {1,4,7,2,5,8}; int b[] = {1,2,3,3,2,1}; const int ASZ = sizeof a / sizeof a[0]; const int BSZ = sizeof b / sizeof b[0]; ostream_iterator<int> out(cout," "); copy(a, a + ASZ, out); cout<<endl; copy(b, b + BSZ, out); cout<<endl; int r = accumulate(a, a + ASZ, 0); cout << "accumulate 1: " << r << endl; // Should produce the same result: r = accumulate(b, b + BSZ, 0, plus<int>()); cout << "accumulate 2: " << r << endl; r = inner_product(a, a + ASZ, b, 0); // 或 r = inner_product(a, a + ASZ, b, 0, plus<int>(), multiplies<int>()); cout << "inner_product : " << r << endl; int* it = partial_sum(a, a + ASZ, b); // 或 int* it = partial_sum(a, a + ASZ, b, plus<int>()); copy(b, it, out); cout<<endl; it = adjacent_difference(a, a + ASZ, b); // 或 it = adjacent_difference(a, a + ASZ, b, minus<int>()); copy(b, it, out); cout<<endl; return 0;}
运行结果:
知识总结:
STL提供了4个通用数值算法,此类算法包含头文件<numeric>。
数值算法列表
算法名称 功能
accumulate 计算序列中所有元素的和
partial_sum 累加序列中部分元素的值,并将结果保存在另一个序列中
adjacent_difference 计算序列中相邻元素的差,并将结果保存在另一个序列中
inner_product 累加两个序列对应元素的乘积,也就是序列的内积
0 0
- 第十五周项目—阅读程序(3)
- 第十五周项目阅读程序(3)
- 第十五周项目 阅读程序(3)
- 第十五周项目—阅读程序(1)
- 第十五周项目—阅读程序(2)
- 第十五周项目-阅读程序—1
- 第十五周项目—阅读程序(4)
- 第十五周项目—阅读程序(5)
- 第十五周项目—阅读程序(6)
- 第十五周项目—阅读程序(4)
- 第十五周项目—阅读程序(5)
- 第十五周项目—阅读程序(6)
- 第十五周阅读程序——3
- 第十五周阅读程序3
- 第十五周阅读程序-3
- 第十五周--阅读程序3
- 第十五周项目1:阅读程序,领会STL用法(3)
- 第十五周上机实践项目1(3):阅读程序
- HIVE入门
- picasso的简单用法
- 为什么在项目中使用Using namespace CocosDenshion;会提示出错expected namespace namespace
- 背景建模--高斯混合模型
- Picasso入门教程(九)回调,remoteViews,通知
- 第十五周项目—阅读程序(3)
- Oracle ADF 11g后台常用方法(2)
- POJ3187——Backward Digit Sums
- SASS语法学习
- debian7 修改系统时间
- xml解析方式
- 手机软件项目管理7—三方应用导入流程
- (Math)矩阵求导
- C++第十五周实践项目2————洗牌