STL數(shù)學(xué)算法及堆排序算法
?數(shù)字算法:<numeric>
算法 | 說明 |
T accumulate(InIt first,InIt last, T val);
|
返回[first,last)所有元素相加后與val的和
|
T accumulate(InIt first,InIt last, T val, Pred pr);
|
對[first,last)的元素依次遞歸調(diào)用pr,Vn=pr(Vn-1,Ai),V0=T;
|
OutIt adjacent_difference(InIt first,InIt last,OutIt result);
|
對[first,last)的元素依次執(zhí)行Vi=Ai+1-Ai,Vi存儲在result開始的容器里,返回目標(biāo)區(qū)間最后一個元素的下一個位置
|
OutIt adjacent_difference(InIt first,InIt last,OutIt result, Pred
pr);
|
對[first,last)的元素依次執(zhí)行Vi=pr(Ai+1-Ai),Vi存儲在result開始的容器里,返回目標(biāo)區(qū)間最后一個元素的下一個位置
|
T inner_product(InIt1 first1,InIt1 last1,Init2 first2, T val);
|
對[first1,last1)上的元素Ai,[first2,last2)的元素Bi,遞歸執(zhí)行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開始的位置,返回目標(biāo)區(qū)間最后一個元素的下個位置
|
OutIt partial_sum(InIt first,InIt last,OutIt result, Pred pr);
|
Ri=pr(Ri-1,Ai),其中R0=*first,
把Ri存儲到result開始的位置,返回目標(biāo)區(qū)間最后一個元素的下個位置
|
堆排序算法:
void make_heap(RanIt
first, RanIt last);
|
|
用[first,last)之間的元素生成一個堆,pr是用于比較數(shù)值的二元函數(shù) | |
void sort_heap(RanIt first, RanIt last);
|
堆排序[first,last)之間的數(shù)值序列,pr指定比較數(shù)值的二元判定函數(shù)
|
void push_heap(RanIt first, RanIt last);
|
? |
void pop_heap(RanIt first, RanIt last);
|
? |
posted on 2006-04-21 15:46 芥之舟 閱讀(988) 評論(0) 編輯 收藏 引用 所屬分類: STL