轉自http://www.shnenglu.com/batiliu/archive/2008/11/26/67935.html
|
|
|
|
|
|
非修改性序列操作(12個) |
|
循環 |
對序列中的每個元素執行某操作 |
for_each() |
|
查找 |
在序列中找出某個值的第一次出現的位置 |
find() |
|
在序列中找出符合某謂詞的第一個元素 |
find_if() |
|
在序列中找出一子序列的最后一次出現的位置 |
find_end() |
|
在序列中找出第一次出現指定值集中之值的位置 |
find_first_of() |
|
在序列中找出相鄰的一對值 |
adjacent_find() |
|
計數 |
在序列中統計某個值出現的次數 |
count() |
|
在序列中統計與某謂詞匹配的次數 |
count_if() |
|
比較 |
找出兩個序列相異的第一個元素 |
mismatch() |
|
兩個序列中的對應元素都相同時為真 |
equal() |
|
搜索 |
在序列中找出一子序列的第一次出現的位置 |
search() |
|
在序列中找出一值的連續n次出現的位置 |
search_n() |
|
|
修改性序列操作(27個) |
|
復制 |
從序列的第一個元素起進行復制 |
copy() |
|
從序列的最后一個元素起進行復制 |
copy_backward() |
|
交換 |
交換兩個元素 |
swap() |
|
交換指定范圍的元素 |
swap_ranges() |
|
交換由迭代器所指的兩個元素 |
iter_swap() |
|
變換 |
將某操作應用于指定范圍的每個元素 |
transform() |
|
替換 |
用一個給定值替換一些值 |
replace() |
|
替換滿足謂詞的一些元素 |
replace_if() |
|
復制序列時用一給定值替換元素 |
replace_copy() |
|
復制序列時替換滿足謂詞的元素 |
replace_copy_if() |
|
填充 |
用一給定值取代所有元素 |
fill() |
|
用一給定值取代前n個元素 |
fill_n() |
|
生成 |
用一操作的結果取代所有元素 |
generate() |
|
用一操作的結果取代前n個元素 |
generate_n() |
|
刪除 |
刪除具有給定值的元素 |
remove() |
|
刪除滿足謂詞的元素 |
remove_if() |
|
復制序列時刪除具有給定值的元素 |
remove_copy() |
|
復制序列時刪除滿足謂詞的元素 |
remove_copy_if() |
|
唯一 |
刪除相鄰的重復元素 |
unique() |
|
復制序列時刪除相鄰的重復元素 |
unique_copy() |
|
反轉 |
反轉元素的次序 |
reverse() |
|
復制序列時反轉元素的次序 |
reverse_copy() |
|
環移 |
循環移動元素 |
rotate() |
|
復制序列時循環移動元素 |
rotate_copy() |
|
隨機 |
采用均勻分布來隨機移動元素 |
random_shuffle() |
|
劃分 |
將滿足某謂詞的元素都放到前面 |
partition() |
|
將滿足某謂詞的元素都放到前面并維持原順序 |
stable_partition() |
|
|
序列排序及相關操作(27個) |
|
排序 |
以很好的平均效率排序 |
sort() |
|
排序,并維持相同元素的原有順序 |
stable_sort() |
|
將序列的前一部分排好序 |
partial_sort() |
|
復制的同時將序列的前一部分排好序 |
partial_sort_copy() |
|
第n個元素 |
將第n各元素放到它的正確位置 |
nth_element() |
|
二分檢索 |
找到大于等于某值的第一次出現 |
lower_bound() |
|
找到大于某值的第一次出現 |
upper_bound() |
|
找到(在不破壞順序的前提下)可插入給定值的最大范圍 |
equal_range() |
|
在有序序列中確定給定元素是否存在 |
binary_search() |
|
歸并 |
歸并兩個有序序列 |
merge() |
|
歸并兩個接續的有序序列 |
inplace_merge() |
|
有序結構上的集合操作 |
一序列為另一序列的子序列時為真 |
includes() |
|
構造兩個集合的有序并集 |
set_union() |
|
構造兩個集合的有序交集 |
set_intersection() |
|
構造兩個集合的有序差集 |
set_difference() |
|
構造兩個集合的有序對稱差集(并-交) |
set_symmetric_difference() |
|
堆操作 |
向堆中加入元素 |
push_heap() |
|
從堆中彈出元素 |
pop_heap() |
|
從序列構造堆 |
make_heap() |
|
給堆排序 |
sort_heap() |
|
最大和最小 |
兩個值中較小的 |
min() |
|
兩個值中較大的 |
max() |
|
序列中的最小元素 |
min_element() |
|
序列中的最大元素 |
max_element() |
|
詞典比較 |
兩個序列按字典序的第一個在前 |
lexicographical_compare() |
|
排列生成器 |
按字典序的下一個排列 |
next_permutation() |
|
按字典序的前一個排列 |
prev_permutation() |