您的位置:首页 > 其它

数值算法

2016-04-24 21:54 204 查看
#include<numeric>
#include<iostream>
#include<algorithm>
#include<functional>
#include<iterator>
#include<vector>
#include<cmath>
using namespace std;

void main()
{
int ia[5]={1,2,3,4,5};
vector<int> iv(ia,ia+5);
cout<<accumulate(iv.begin(),iv.end(),0)<<endl;//0+1+2+3+4+5=15
cout<<accumulate(iv.begin(),iv.end(),0,minus<int>())<<endl;//0-1-2-3-4-5=-15
cout<<inner_product(iv.begin(),iv.end(),iv.begin(),10)<<endl;//10+1*1+2*2+3*3+4*4+5*5=65
cout<<inner_product(iv.begin(),iv.end(),iv.begin(),10,minus<int>(),plus<int>())<<endl;//10-1+1-2+2-3+3-4+4-5+5=-20

ostream_iterator<int> oite(cout," ");
partial_sum(iv.begin(),iv.end(),oite);//1 3 6 10 15(第n个新元素是前n个旧元素的相加总计)
cout<<endl;
partial_sum(iv.begin(),iv.end(),oite,minus<int>());//1 -1 -4 -8 -13(第n个元素是前n个旧元素的运算总计)
cout<<endl;
adjacent_difference(iv.begin(),iv.end(),oite);//1 1 1 1 1 1(#1元素照录,#n新元素等于#n旧元素-#n-1旧元素)
cout<<endl;
adjacent_difference(iv.begin(),iv.end(),oite,plus<int>());//1 3 5 7 9(#1元素照录,#n新元素等于op(#n旧元素,#n-1旧元素)
cout<<endl;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: