泛型算法:
所有算法的前兩個參數都是一對iterators:[first,last),用來指出容器內一個范圍內的元素。
每個算法的聲明中,都表現出它所需要的最低層次的iterator類型。
70個算法:
accumulate() 元素累加
adjacent_difference() 相鄰元素的差額
adjacent_find() 搜尋相鄰的重復元素
binary_search() 二元搜尋
copy() 復制
copy_backward() 逆向復制
count() 計數
count_if() 在特定條件下計數
equal() 判斷相等與否
equal_range() 判斷相等與否(傳回一個上下限區間范圍)
fill() 改填元素值
fill_n() 改填元素值,n 次
find() 搜尋
find_if() 在特定條件下搜尋
find_end() 搜尋某個子序列的最后一次出現地點
find_first_of() 搜尋某些元素的首次出現地點
for_each() 對范圍內的每一個元素施行某動作
generate() 以指定動作的運算結果充填特定范圍內的元素
generate_n() 以指定動作的運算結果充填 n 個元素內容
includes() 涵蓋於
inner_product() 內積
inplace_merge() 合并并取代(覆寫)
iter_swap() 元素互換
lexicographical_compare() 以字典排列方式做比較
lower_bound() 下限
max() 最大值
max_element() 最大值所在位置
min() 最小值
min_element() 最小值所在位置
merge() 合并兩個序列
mismatch() 找出不吻合點
next_permutation() 獲得下一個排列組合
泛型演算法(Generic Algorithms)與 Function Obje4 cts
nth_element() 重新安排序列中第n個元素的左右兩端
partial_sort() 局部排序
partial_sort_copy() 局部排序并復制到它處
partial_sum() 局部總和
partition() 切割
prev_permutation() 獲得前一個排列組合
random_shuffle() 隨機重排
remove() 移除某種元素(但不刪除)
remove_copy() 移除某種元素并將結果復制到另一個 container
remove_if() 有條件地移除某種元素
remove_copy_if() 有條件地移除某種元素并將結果復制到另一個 container
replace() 取代某種元素
replace_copy() 取代某種元素,并將結果復制到另一個 container
replace_if() 有條件地取代
replace_copy_if() 有條件地取代,并將結果復制到另一個 container
reverse() 顛倒元素次序
reverse_copy() 顛倒元素次序并將結果復制到另一個 container
rotate() 旋轉
rotate_copy() 旋轉,并將結果復制到另一個 container
search() 搜尋某個子序列
search_n() 搜尋「連續發生 n 次」的子序列
set_difference() 差集
set_intersection() 交集
set_symmetric_difference() 對稱差集
set_union() 聯集
sort() 排序
stable_partition() 切割并保持元素相對次序
stable_sort() 排序并保持等值元素的相對次序
swap() 置換(對調)
swap_range() 置換(指定范圍)
transform() 以兩個序列為基礎,交互作用產生第三個序列
unique() 將重復的元素摺疊縮編,使成唯一
unique_copy() 將重復的元素摺疊縮編,使成唯一,并復制到他處
upper_bound() 上限
-- 以下是 heap 相關演算法 --
make_heap() 制造一個 heap
pop_heap() 從 heap 內取出一個元素
push_heap() 將一個元素推進 heap 內
sort_heap() 對 heap 排序