STL算法-numeric
来源:互联网 发布:ug8.0编程视频教程全集 编辑:程序博客网 时间:2024/04/27 09:58
iota
将一组递增的值赋值给迭代器区间内的元素
#include <numeric>
#include <algorithm>
#include <iostream>
using namespace std;
void print(int x){
cout << x << ' ';
}
int main(void){
int iArray[10];
iota(iArray, iArray+10, 0);
for_each(iArray, iArray+10, print);
cout << endl;
return 0;
}
accumulate
可以将区间的元素进行累计求和,或者你可以DIY一个累计求积之类的功能
#include <numeric>
#include <iostream>
using namespace std;
int multiply(int x, int y){
return x * y;
}
int main(void){
int iArray[5]={1, 2, 3, 4, 5};
cout << "数组iArray的元素和为"
<< accumulate(iArray, iArray+5, 0)
<< endl;
cout << "数组iArray的元素乘积为"
<< accumulate(iArray, iArray+5, 1, multiply)
<< endl;
return 0;
}
inner_product
对两个区间内的元素进行累积计算,类似于上面也可以自己DIY一些功能出来
#include <numeric>
#include <iostream>
int add(int x, int y){
return x + y;
}
int mul(int x, int y){
return x * y;
}
int main(void){
using namespace std;
int iArray1[3]={2, 5, 4};
int iArray2[3]={10, 6, 5};
//用原型1计算内积
int result=inner_product(iArray1, iArray1 + 3, iArray2, 0);
cout << "数组iArray1与数组iArray2的内积为" << result << endl;
//用原型2计算内积
result=inner_product(iArray1, iArray1 +3, iArray2, 0, add, mul);
cout << "数组iArray1与数组iArray2的内积为" << result << endl;
return 0;
}
partial_sum
对区间元素进行局部求和,当然也支持DIY
#include <numeric>
#include <algorithm>
#include <iostream>
using namespace std;
void print(int x){
cout << x << ' ';
}
int multiply(int x, int y){
return x * y;
}
int main(void){
int iArray[5]={1, 2, 3, 4, 5};
int iResult[5];
//求和
partial_sum(iArray, iArray+5, iResult);
for_each(iResult, iResult+5, print);
cout << endl;
//计算阶乘
partial_sum(iArray, iArray+5, iResult, multiply);
for_each(iResult, iResult+5, print);
cout << endl;
return 0;
}
adjacent_difference
对相邻元素求差
power
用于进行n次方的计算
- STL算法-numeric
- 【STL】<algorithm><numeric><functional> 中的常用算法
- STL--numeric
- STL源码剖析之数值算法<numeric.h>
- STL之numeric
- STL之numeric实现
- STL algorithm (1) : numeric part
- STL: sorted data algorithms and Numeric Algorithms
- STL学习----入门(1)[numeric]
- STL算法
- STL 算法
- STL 算法
- STL-算法
- STL算法
- STL 算法
- STL算法
- STL算法
- STL 算法
- 浅谈Scrum
- JQuery插件datepicker的使用方法
- Loadrunner 入门连载教程
- objective-c之NSString
- FORTRAN/C/C++混合编程注意事项
- STL算法-numeric
- Linux 文件系统剖析
- 如何看SDRAM的容量笔记
- sse4j介绍
- AS3 VerticalTrackBarRuler ---- 垂直摄量条
- Pyramids
- jh11,GW的井队,都说GW的rig比cc的rig更专业,我在这呆了两天,还没怎么感觉到。
- excel raise与offset
- ubuntu下pdf中文乱码解决