尋找演算法
adjacent_find:找出一個串中第一個不符合次序的地方
find,find_if:找出第一個合格元素
find_first_of:在一個串中尋找第一個與另一個串中任意一個元素相等的元素
search_n:在一個串中尋找一個元素第n次出現的地方
count,count_if:一個串中合格元素個數
mismatch:找出兩個串第一個不相等的地方
equal:判斷兩個串的指定部分是否完全相等
lexicographical_compare,lexicographical_compare_3way:按詞典順序比較字串
search:在一個串中尋找一個子串第一次出現的位置
find_end:尋找一個子串最後一次出現的地方
binary_search,lower_bound,upper_bound,equal_range:在已排序的串中進行二分法搜尋
min,max:比較兩個數,返回數值
min_element,max_element:尋找指定範圍內的最值
改變內容的演算法
copy,copy_n:從指定位置開始複製資料
copy_backward:指定目標的結尾進行複製
swap:交換兩個容器內容
iter_swap:交換兩個指標指向內容
swap_range:交換指定範圍內的內容
transform:把元素逐個進行一元或二元運算結果放在新的容器
fill,fill_n:往容器的一定範圍內填入相同元素
generate,generate_n:往容器的一定範圍內填入指定的無參函數(如rand)的傳回值
replace,replace_if,replace_copy,replace_copy_if:替換合格元素
remove,remove_if,remove_copy,remove_copy_if:刪除合格元素
unique,unique_copy:除去相鄰的相同元素
reverse,reverse_copy:反轉指定範圍的內容
rotate,rotate_copy:迴圈排列指定範圍的內容
random_shuffle:隨機重排指定範圍的內容
next_permutation,prev_permutation:按下一種或上一種相片順序排列指定範圍的內容(一共有N!種相片順序)
random_sample,random_sample_n:對指定範圍的內容進行隨機抽樣
partition,stable_partition:把指定範圍內元素按指定區分法則分成兩部分
排序演算法
sort:快速排序
stable_sort:穩定排序
partial_sort,partial_sort_copy:只排出最大(或最小)的前幾位
nth_element:快速排序的一輪
merge,inplace_merge:歸併排序的一輪
is_sorted:判斷是否已排序
make_heap:產生堆
pop_heap:取出最大元素並重建堆
push_heap:往堆中添加最後一個元素並重建堆
sort_heap:堆排序
is_heap:判斷是否是堆
集合運算的演算法(使用時應保證容器已排序)
includes:一個已排序集合是否含於另一個
set_union:取兩個已排序集合的並集
set_inter:取兩個已排序集合的交集
set_difference:一個已排序集合中不存在於另一個集合中的元素構成的集合
set_symmetric_difference:取兩個已排序集合的異或
特定演算法
itoa:把從指定值遞增1的數列填入數組
accumulate:累加求總和
inner_product:求兩個向量的內積
partial_sum:逐限累加成新數組
adjacent_difference:逐限求差成新數組
power:對一個數累乘或累次執行一個操作
(ps:以上內容轉摘自http://hi.baidu.com/wwbmmm/blog/item/c2e29b3f950ea1fc828b1319.html)