第十五周程序阅读-范型程序设计(3)
2016-06-06 14:40
330 查看
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年6月6日 *版 本 号:v1.0 * *问题描述:阅读下面的程序,对照运行结果,领会STL的用法 */ #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; //Shoule 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; }
运行结果:
相关文章推荐
- iOS开发之理解iOS中的MVC设计模式
- java中的锁
- Spring 给Bean属性注入null值
- jQuery jForm ajax 单击选中文件直接自动上载 无需提交按钮
- SSD -----TLC MLC SLC
- C#学习笔记---Dispose(),Finalize(),SuppressFinalize
- pojo和javabean的比较
- 关于ssl或者tls的问题,还有验证当前是否支持tls某个版本
- CountDownLatch 闭锁
- 基于JS实现数字+字母+中文的混合排序方法
- C/C++ typedef用法
- 在eclipse如何删除无效的maven build
- -bash: ulimit: open files: cannot modify limit: Operation not permitted
- cxVerticalGrid1EditorRow
- Java是如何管理内存
- 全栈工程师
- fastjson
- Zabbix_Server安装
- Linux命令行下编辑文档
- 深入理解typedef