()要運用STL的算法,首先必須包含頭文件<algorithm>,某些STL算法用於數值處理,因此被定義於頭文件<numeric>
(
(
(
( difference_type count (InputIterator beg, InputIterator end, T& 6關聯式容器(/multiset,map/
( 2上述無op參數版本以operator<
( InputIterator find (InputIterator beg, InputIterator end, T& 7關聯式容器(/multiset,map/
InputIterator search_n (InputIterator beg, InputIterator end, Size count, T& InputIterator search_n (InputIterator beg, InputIterator end, Size count, T&
pair<InputIterator1, InputIterator2> pair<InputIterator1, InputIterator2>
2第一形式使用operator<
(
(
(
( fill (ForwardIterator beg, ForwardIterator end, T& fill_n (OutputIterator beg, Size num, T&
( replace (ForwardIterator beg, ForwardIterator end, T& oldValue, T& replace_if (ForwardIterator beg, ForwardIterator end, UnaryPredicate op, T&
OutputIterator replace_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, T& oldValue, T& OutputIterator replace_copy_if (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, UnaryPredicate op, T&
( ForwardIterator remove (ForwardIterator beg, ForwardIterator end, T&
OutputIterator remove_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, T&
(
1將區間[beg, end)內的元素進行旋轉,執行後*
2將源區間[sourceBeg, sourceEnd)內的元素復制到以destBeg起始的目標區間中,同時旋轉元素使*
random_shuffle (RandomAccessIterator beg, RandomAccessIterator end, RandomFunc& 3注意op是一個non-
( 1sort()和stable_sort()的上述第一形式使用operator< 6時間復雜度:sort():O(nlgn),stable_sort()當系統有足夠的內存時為O(nlgn)、不足時為O(nlgn*
1上述第一形式使用operator<
2上述第一形式使用operator<
(
1兩種形式都將end之前的最後一個元素加入原本就是個heap的[beg, end- 3調用者必須保證進入函數時,區間[beg, end-
1以上兩種形式都將heap[beg, end)內的最高元素也就是第一個元素移動到最後的位置上,並將剩余區間[beg, end-
( binary_search (ForwardIterator beg, ForwardIterator end, T& binary_search (ForwardIterator beg, ForwardIterator end, T&
ForwardIterator lower_bound (ForwardIterator beg, ForwardIterator end, T& ForwardIterator lower_bound (ForwardIterator beg, ForwardIterator end, T&
ForwardIterator upper_bound (ForwardIterator beg, ForwardIterator end, T& ForwardIterator upper_bound (ForwardIterator beg, ForwardIterator end, T&
pair<ForwardIterator, ForwardIterator> equal_range (ForwardIterator beg, ForwardIterator end, T& pair<ForwardIterator, ForwardIterator> equal_range (ForwardIterator beg, ForwardIterator end, T&
(
( 運用數值算法需要包含頭文件:#include<numeric>
1第一形式計算initValue和區間[beg, end)內的所有元素總和,具體地說它針對每一個元素調用initValue+= 2第二形式計算initValue和區間[beg, end)內每一個元素進行op運算的結果,具體地說它針對每一個元素調用initValue=
1第一形式計算並返回[beg1, end1)區間和以beg2為起始的區間的對應元素組(再加上initValue)的內積。具體地說針對兩區間內的每一組對應元素調用initValue=initValue+elem1* 2第二形式將[beg1, end1)區間和以beg2為起始的區間的對應元素組進行op2運算再和initValue進行op1運算並將結果返回。具體地說針對兩區間內的每一組對應元素調用initValue=
3對於數列a1 a2 a3 ……它們分別計算a1, a1+a2, a1+a2+
4對於數列a1 a2 a3 a4……它們分別計算a1, a2-a1, a3-a2,a4- 10時間復雜度:線性