アルゴリズム

[C++] remove()の使い方 – 指定要素を削除する

C++のstd::removeは、指定した要素を削除するためのアルゴリズムで、<algorithm>ヘッダに含まれています。 ただし、実際に要素を削除するのではなく、削除対象以外の要素を前方に移動し、新しい範囲の終端イテレータを

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

[C++] remove_if()の使い方 – 条件に合う要素を削除する

C++のstd::remove_ifは、指定した条件に合致する要素をコンテナから削除するために使用されます。 ただし、実際には要素を削除するのではなく、条件に合わない要素を前方に移動し、新しい末尾のイテレータを返します。 このイテレータを使

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

[C++] push_heap()の使い方 – ヒープ化された範囲に要素を追加

C++のstd::push_heap()は、ヒープ化された範囲に新しい要素を追加する際に使用します。 まず、std::vectorなどのコンテナに要素を追加し、その後std::push_heap()を呼び出してヒープ特性を維持します。 範囲

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

[C++] none_of()の使い方 – 全要素が条件を満たさないか判定する

C++のstd::none_of()は、指定した範囲内の全要素が条件を満たさない場合にtrueを返すアルゴリズムです。 ヘッダファイル<algorithm>をインクルードして使用します。 引数として、範囲を指定するイテレータ(開

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

[C++] next_permutation()の使い方 – 範囲要素の順列の作成

C++のstd::next_permutation()は、指定した範囲の要素を辞書順で次の順列に並べ替えるアルゴリズムです。 範囲はイテレータで指定し、次の順列が存在する場合はtrueを返し、最後の順列の場合はfalseを返します。 要素が

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

[C++] mismatch()の使い方 – 一致していない位置の検索

mismatch()は、C++標準ライブラリのアルゴリズムで、2つの範囲を比較し、最初に一致しない要素の位置を返します。 引数として2つの範囲(イテレータ)を指定し、オプションで比較関数も渡せます。 戻り値は一致しない要素のペア(イテレータ

続きを読む »
数値型

[C++] 数値かどうか判定して文字列をlongに変換する方法

C++で文字列を数値かどうか判定し、long型に変換するには、std::stol関数を使用します。 この関数は、文字列をlong型に変換し、変換できない場合には例外std::invalid_argumentやstd::out_of_rang

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

[C++] std::min()の使い方 – 2つの値から最小値を取得

C++の標準ライブラリに含まれるstd::min()は、2つの値を比較して小さい方の値を返す関数です。 ヘッダファイル<algorithm>をインクルードすることで使用可能です。 基本的な使い方はstd::min(a, b)で、

続きを読む »
数値型

[C++] longで小数点以下を扱えない理由や代替方法を解説

C++のlong型は整数型であり、小数点以下の値を扱うことはできません。 これはlongが固定長のビット数で整数値を表現するため、小数部分を格納する仕組みがないからです。 小数点以下を扱いたい場合は、浮動小数点型のfloatやdoubleを

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

[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コンテナのメンバー関数で、コンテナの末尾の次を指すイテレータを返します。 このイテレータは有効な要素を指していないため、要素のアクセスには使用できませんが、範囲ベース

続きを読む »
Back to top button