アルゴリズム

[C++] max_element()の使い方 – コンテナから最大値を取得する

C++のstd::max_element()は、指定した範囲内で最大値を持つ要素へのイテレータを返す関数です。 #include <algorithm>をインクルードして使用します。 範囲はイテレータで指定し、std::max_

続きを読む »
list

[C++] list::push_front()の使い方 – 先頭に要素を追加する

C++のstd::listクラスのpush_front()メンバ関数は、リストの先頭に新しい要素を追加するために使用されます。 この関数は、リストの最初の位置に指定した値を挿入し、リストのサイズを1つ増加させます。 操作の計算量は一定時間(

続きを読む »
数値型

[C++] long型とint型を相互変換する方法

C++では、long型とint型の相互変換は暗黙的または明示的に行えます。 暗黙的な変換は、long型がint型よりも大きい場合にデータが失われる可能性があります。 明示的な変換はキャストを使用します。 例えば、intからlongへの変換は

続きを読む »
アルゴリズム

[C++] make_heap()の使い方 – イテレータ範囲のヒープ化

C++のstd::make_heap()は、指定したイテレータ範囲をヒープ構造に変換するためのアルゴリズムです。 ヒープは完全二分木の形を持ち、親ノードが子ノードよりも大きい(または小さい)という特性を持ちます。 make_heap()はデ

続きを読む »
アルゴリズム

[C++] lower_bound()の使い方 – 特定の値以上の要素の検索

C++のlower_bound()は、ソートされた範囲内で特定の値以上の最初の要素を指すイテレータを返す関数です。 std::lower_bound(start, end, value)の形式で使用し、二分探索を用いるため計算量は\(O(\

続きを読む »
map

[C++] map::size()の使い方 – 要素数の取得

C++のstd::mapクラスのsize()メンバー関数は、マップに格納されている要素の数を返します。 この関数は定数時間で実行され、戻り値はsize_t型です。 例えば、std::map<int, std::string> m

続きを読む »
map

[C++] map::insert()の使い方 – 新しいキーと値を挿入する

C++のstd::mapのinsert()メソッドは、新しいキーと値のペアを挿入するために使用されます。 insert()は、std::pairを引数として受け取る形式や、キーと値を直接指定する形式があります。 挿入が成功した場合はtrue

続きを読む »
map

[C++] map::find()の使い方 – キーを使った要素検索

C++のstd::mapのfind()メソッドは、指定したキーに対応する要素を検索するために使用されます。 このメソッドは、キーを引数として受け取り、該当する要素へのイテレータを返します。 キーが見つかった場合はその要素へのイテレータを、見

続きを読む »
map

[C++] map::erase()の使い方 – キーを指定して削除する

C++のstd::mapのerase()メソッドは、指定したキーに対応する要素を削除するために使用されます。 erase()にキーを渡すと、そのキーに対応する要素が削除され、削除に成功した場合は1、失敗した場合は0を返します。 例えば、ma

続きを読む »
map

[C++] map::end()の使い方 – 末尾の次の参照を取得する

map::end()は、C++の標準ライブラリで提供されるstd::mapコンテナのメンバー関数で、コンテナの末尾の次を指すイテレータを返します。 このイテレータは有効な要素を指していないため、要素のアクセスには使用できませんが、範囲ベース

続きを読む »
アルゴリズム

[C++] std::replace()の使い方 – 特定要素を置換する

C++のstd::replace()は、指定した範囲内で特定の要素を別の要素に置き換える標準ライブラリ関数です。 ヘッダファイル<algorithm>をインクルードして使用します。 シグネチャはstd::replace(Inpu

続きを読む »
アルゴリズム

[C++] prev_permutation()の使い方 – 小さい順列を発見する

C++のstd::prev_permutation()は、与えられた範囲の要素を辞書順で前の順列に並べ替える関数です。 これを使うと、現在の順列よりも辞書順で小さい順列を効率的に生成できます。 範囲が最小の順列の場合はfalseを返し、それ

続きを読む »
map

[C++] map::empty()の使い方 – マップが空か判定する

C++のmap::empty()は、std::mapが空であるかを判定するメンバ関数です。 この関数は、マップに要素が1つも存在しない場合にtrueを返し、要素が存在する場合はfalseを返します。 戻り値はブール型で、時間計算量は定数時間

続きを読む »
数値型

[C++] long型の最大値・最小値を取得する方法

C++でlong型の最大値と最小値を取得するには、<climits>ヘッダーを使用し、LONG_MAXとLONG_MINを参照します。 これらはそれぞれlong型の最大値と最小値を定義した定数です。 例えば、LONG_MAXはプ

続きを読む »
アルゴリズム

[C++] pop_heap()の使い方 – 先頭末尾の入れ替え/ヒープ範囲の再構築

C++のpop_heap()は、ヒープ構造を維持しながら、ヒープの先頭要素(最大値または最小値)を末尾に移動させるために使用されます。 この関数は、std::make_heap()やstd::push_heap()と組み合わせて使われること

続きを読む »
map

[C++] map::clear()の使い方 – マップ要素を全て削除する

C++のmap::clear()は、std::mapコンテナ内の全ての要素を削除し、コンテナを空にするためのメンバ関数です。 この関数を呼び出すと、マップ内のキーと値のペアが全て削除され、サイズは0になります。 時間計算量は線形で、削除され

続きを読む »
数値型

[C++] long型とstring型を相互変換する方法

C++でlong型とstring型を相互変換するには、標準ライブラリを使用します。 long型をstring型に変換するにはstd::to_string関数を使用します。 一方、string型をlong型に変換するにはstd::stol関数

続きを読む »
アルゴリズム

[C++] partition()の使い方 – コンテナの範囲を区分化する

C++のstd::partitionは、指定した条件を満たす要素をコンテナの先頭に集め、それ以外を後方に移動させるアルゴリズムです。 戻り値は条件を満たす要素の範囲の終端を指すイテレータです。 使用するには、範囲(イテレータ)と条件を指定し

続きを読む »
map

[C++] map::begin()の使い方 – 最下位キーのpairの取得

map::begin()は、C++のstd::mapコンテナで最初の要素(最小のキーに対応する要素)へのイテレータを返します。 これを使用することで、最下位キーとその値を取得できます。 イテレータが指す要素はstd::pair<con

続きを読む »
Back to top button