第十五周程序阅读-范型程序设计(3)

来源:互联网 发布:淘宝客 很多退款 编辑:程序博客网 时间:2024/06/07 04:42
/**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;}

运行结果:


0 0
原创粉丝点击