STL算法

STLのほとんどのアルゴリズムには入力となる要素の集合を2つのイテレータで指定します。

ひとつは集合の先頭を指すイテレータfirst、もうひとつは集合の末尾の次を指すイテレータlastです。

【検索・走査アルゴリズム】  
<algorithm>で定義されているもの  
count() (I, I) 値が一致する要素の数を返す
count_if() (I, I) 条件に合う要素の数を返す
equal() (I, I), I 2つの配列を比較し、すべて一致したらtrueを返す
find_end() (F, F), (F, F) 配列1の一部と配列2が部分一致したら、その最後の位置を返す
find() (I, I) 配列を走査して値が最初に一致した要素の位置を返す
find_first_of() (F, F), (F, F) 配列1の一部と配列2が部分一致したら、その最初の位置を返す
find_if() (I, I) 配列を走査し、最初に条件に一致した位置を返す
for_each() (I, I) すべての要素に対して、指定された振る舞いを実行する
lexicographical_compare() (I, I), (I, I) 2つの配列を辞書順に比較し、前者が先ならtrueを返す
max_element() (F, F) 配列の中の最大の要素の位置を返す
min_element() (F, F) 配列の中の最小の要素の位置を返す
mismatch() (I, I), I 2つの配列の不一致箇所を見つける
search() (F, F), (F, F) 配列1の一部と配列2が部分一致したら、その最初の要素の位置を返す
search_n() (F, F) 連続した個数の要素を見つけ、その位置を返す
     
<numeric>で定義されているもの  
accumulate() (I, I) 各要素を積算して返す
adjacent_difference() (F, F) 隣接する等しい要素を探す
inner_product() (I, I), I 2つの配列の内積を計算して返す
patial_sum() (I, I), O 積算の途中経過をすべて他の配列に残す

 

【配列操作アルゴリズム】  
     
copy() (I, I), O 配列をコピーする
copy_backward() (B, B), B 配列を逆順にコピーする
fill() (F, F) 配列を与えられた値で埋める
fill_n() O 配列を与えられた個数分の指定値で埋める
generate() (F, F) 配列を、与えられた関数の返値で埋める
generate_if() O 配列を与えられた個数分、指定された関数の返値で埋める
iter_swap() F, F 2つのイテレータが指す要素を交換する
random_shuffle (R, R) 配列をシャッフルする
remove() (F, F) 配列の中の、与えられた値と同じ要素を削除する
remove_if() (F, F) 配列の中の、条件に合う要素を削除する
remove_copy() (I, I), O 与えられた値と同じ要素以外を新しい配列にコピーする
remove_copy_if() (I, I), O 条件に合う要素以外を新しい配列にコピーする
replace() (F, F) 配列の中の古い値を、新しい値に置換する
replace_if() (F, F) 配列の中の条件に合う要素を、新しい値に置換する
replace_copy() (I, I), O 配列の中の古い値を、新しい値に置換しながら新しい配列にコピーする
replace_copy_if() (I, I), O 配列の中の条件に合う要素を、新しい値に置換しながら新しい配列にコピーする
reverse() (B, B) 配列の要素を反転させる
reverse_copy() (B, B), O 要素を反転させつつ、新しい配列にコピーする
rotate() (F, F, F) 同じ配列内で、前半と後半を入れ替える
rotate_copy() (F, F, F), O 前半と後半を入れ替えながら新しい配列にコピーする
swap_range() (F, F), F 2つの配列の内容を交換する
transform() (I, I), O 1つ、あるいは2つの配列に操作を加えながら、新しい配列に出力する。
(I, I), I, O
unique() (F, F) 隣接する同じ要素を削除する
unique_copy() (I, I), O 隣接する同じ要素をのぞいて、新しい配列にコピーする

 

ソート関連アルゴリズム 

 

その他のアルゴリズム

posted on 2013-05-29 20:31  至柔  阅读(161)  评论(0)    收藏  举报

导航