STL数学算法及堆排序算法
2008-12-29 22:34
337 查看
数字算法:<numeric>
堆排序算法:
算法 | 说明 |
T accumulate(InIt first,InIt last, T val); | 返回[first,last)所有元素相加后与val的和 |
T accumulate(InIt first,InIt last, T val, Pred pr); | 对[first,last)的元素依次递归调用pr,Vn=pr(Vn-1,Ai),V0=T; |
OutIt adjacent_difference(InIt first,InIt last,OutIt result); | 对[first,last)的元素依次执行Vi=Ai+1-Ai,Vi存储在result开始的容器里,返回目标区间最后一个元素的下一个位置 |
OutIt adjacent_difference(InIt first,InIt last,OutIt result, Pred pr); | 对[first,last)的元素依次执行Vi=pr(Ai+1-Ai),Vi存储在result开始的容器里,返回目标区间最后一个元素的下一个位置 |
T inner_product(InIt1 first1,InIt1 last1,Init2 first2, T val); | 对[first1,last1)上的元素Ai,[first2,last2)的元素Bi,递归执行Ti=pr1(Ti-1,pr(Ai,Bi)),其中T-1=val,返回最后T的值,第一种形式 为 ∑A i B i |
T inner_product(InIt1 first1,InIt1 last1,Init2 first2, T val, Pred1 pr1, Pred2 pr2); | |
OutIt partial_sum(InIt first,InIt last,OutIt result); | Ri= ∑Aj (0~i),把Ri存储到result开始的位置,返回目标区间最后一个元素的下个位置 |
OutIt partial_sum(InIt first,InIt last,OutIt result, Pred pr); | Ri=pr(Ri-1,Ai),其中R0=*first, 把Ri存储到result开始的位置,返回目标区间最后一个元素的下个位置 |
void make_heap(RanIt first, RanIt last);void make_heap(RanIt first, RanIt last, Pred pr); | |
用[first,last)之间的元素生成一个堆,pr是用于比较数值的二元函数 | |
void sort_heap(RanIt first, RanIt last);void sort_heap(RanIt first, RanIt last, Pred pr); | 堆排序[first,last)之间的数值序列,pr指定比较数值的二元判定函数 |
void push_heap(RanIt first, RanIt last);void push_heap(RanIt first, RanIt last, Pred pr); | |
void pop_heap(RanIt first, RanIt last);void pop_heap(RanIt first, RanIt last, Pred pr); |
相关文章推荐
- STL算法---数学计算算法
- 对STL的增加之算法篇:foreach/数学领域库
- SMO算法的极简数学推导
- STL算法分类
- pku数学类算法题目总结
- 基本算法之数学篇_1
- 使用STL通用算法find_if()在list中搜索对象
- STL源码剖析 [算法](一)[stl_numeric.h]==>copy
- STL 源代码剖析 算法 stl_algo.h -- partition
- 20170407STL012_STL_容器和算法效率
- STL中与比较器有关的容器和算法
- stl算法:next_permutation剖析
- STL算法(Algorithms):堆(heap)
- C++——STL所有算法介绍
- 20170412STL013_STL_非变动型算法
- STL算法学习2
- STL算法之remove要注意的地方。以及迭代时如何正确的删除迭代器
- C++ STL 常用算法
- 游戏开发中的数学和物理算法 1
- STL 算法使用