adjacent_difference算法
来源:互联网 发布:逛淘宝需要流量吗 编辑:程序博客网 时间:2024/06/05 01:17
adjacent_difference算法的主要用途是计算相邻元素的差额
函数模板
//adjacent_difference.htemplate <typename InputIterator, typename OutputIterator>OutputIterator adjacent_difference(InputIterator first, InputIterator last, OutputIterator result) {if(first == last) {return result;}*result = *first;iterator_traits<InputIterator>::value_type value = *first;while(++first != last) {*++result = *first - value;value = *first;}return ++result;}template <typename InputIterator, typename OutputIterator, typename BinaryOperation>OutputIterator adjacent_difference(InputIterator first, InputIterator last, OutputIterator result, BinaryOperation binary_op) {if(first == last) {return result;}*result = *first;iterator_traits<InputIterator>::value_type value = *first;while(++first != last) {*++result = binary_op(*first, value);value = *first;}return ++result;}
测试代码:
//main.cpp #include <iostream> #include "adjacent_difference.h" #include <vector>#include <iterator> using namespace std; int main(void) { int a[5] = {0, 1, 2, 3, 4}; vector<int> ivec(a, a+5); ostream_iterator<int> oite(cout, " ");adjacent_difference(ivec.begin(), ivec.end(), oite);// 0 1 1 1 1cout << endl;adjacent_difference(ivec.begin(), ivec.end(), oite, plus<int>());// 0 1 3 5 7 system("pause"); return 0; }
- adjacent_difference算法
- adjacent_difference
- adjacent_difference
- STL泛型算法--adjacent_difference()
- 泛型算法系列2:adjacent_difference()
- STL-----------------adjacent_difference
- adjacent_difference的用法
- accumulate,inner_product,partial_sum,adjacent_difference
- C++ STL adjacent_difference
- STL之adjacent_difference
- C++ 使用adjacent_difference
- stl中的adjacent_difference
- STL 之accumulate,adjacent_difference,inner_product,partial_sum
- STL 之accumulate,adjacent_difference,inner_product,partial_sum
- 【待完善】inner_product/adjacent_difference/partial_sum的用法
- 算法
- 算法
- 算法
- Conver ,Parse ,TryParse间的区别
- 你知道你你的LOGNAME是如何来的吗?
- QWidget QMainWindow QDialog
- 域对象之间的关系
- Linux中的叹号命令
- adjacent_difference算法
- [Android]ListView美化:去阴影、底色、选中色
- James+Javamail构建邮件服务(一)
- Git 初學筆記 - 指令操作教學
- work之任务
- my.cnf配置详解及设置建议
- 马士兵J2SE-第九章-多线程机制-sleep、join、yield、线程优先级
- 如何发布你的Android应用程序
- Eclipse如何创建dynamic web project项目