STL:アルゴリズム
(1)変更を行わないもの
for_each() 指定区間の要素を操作する find() 指定区間からの要素を検索する find_if() 指定された条件を満足させる要素を検索 count() 指定された値である要素の数を返す count_if() 指定された条件を満足させる要素の数を返す mismatch() ふたつの列で最初に相違する要素の位置を返す equal() ふたつの指定区間内容が等しいなら真 search() 部分シーケンスが現れる位置を返す (2)変更を行うもの
copy() 列をコピーする swap() ふたつの列内容を交換する iter_swap() 反復子が指すふたつの要素を交換する transform() 指定区間内の全要素に対して同一の変更を加える replace() 指定された値と新しい値を置換 fill() 指定された区間の全要素に値を代入する generate() 指定された演算の結果を代入する remove() 指定された値の要素を削除 unique() 隣接する等値データを削除してひとつだけにする reverse() 順番を逆にする rotate() 要素を回転シフトする random_shuffle() 要素を一様分布にシャッフルする (3)整列
sort() ソートする stable_sort() 等しいデータの前後関係を維持しながらソートする nth_element() 値がn番目である要素を配列のn番目に正しく置く (4)二分探索
lower_bound() 指定した値を挿入できる最初の位置を返す upper_bound() 指定した値を挿入できる最大の位置を返す binary_seartch() ソート済みデータから値を探す (5)併合
merge() ふたつのソート済みの列を併合する (6)集合
includes() 指定区間の要素が別の区間の内部にあれば真 set_union() ふたつの区間の和集合を取る set_intersection() ふたつの区間の積集合を取る (7)ヒープ
make_heap() 指定の区間をヒープ構造にする push_heap() ヒープにデータを追加する pop_heap() ヒープからデータを削除する sort_heap() ヒープをソートする (8)最小/最大
min() ふたつの値の小さいほうを返す max() ふたつの値の大きいほうを返す min_element() 指定区間内でもっとも小さい値を返す max_element() 指定区間内でもっとも大きい値を返す