次の方法で共有


アルゴリズム

アルゴリズムは標準テンプレート ライブラリの基本的な部分です。アルゴリズムはコンテナー自体ではなく反復子を使用しません。したがって同じアルゴリズムは STL コンテナーのほとんどすべて使用できません。このセクションではSTL アルゴリズムの規則と用語について説明します。

解説

アルゴリズムの関数テンプレートの説明が複数の省略形句を使用しています :

  • 範囲の句 「 [ThreadABC12 より前の 以降つまり以上の値を不連続のシーケンス 範囲は12 C は A からアクセスできる場合にのみ有効です。;N はを オブジェクトに格納できます (N = ) は オブジェクトをゼロ以上のインクリメントする ++N 回 ()および 12 C にオブジェクトをインクリメント (Assembly B) N == 有限の数の後に等号を比較する場合は

  • 語句 「範囲内の各 n [ThreadAB) の値」 12 C と同じに なるまで N は で始まりゼロのインクリメントする回以上ことを意味します *。*大文字 の N == 12 C がスコープ内にありません。

  • X 条件 満たされるまで条件 の x 範囲 [ABN の各に対して決定 () であることを意味しX 」は句 「範囲 [AB)N の最小値そのうち。

  • X は 範囲 [AB) の各 N のために決まることを意味しX は 句 「範囲 [AB キーと N キー )。そのうち。関数は KX の条件 満たされてたびに N のコピーを格納します。このようストアが発生すると関数が K の値と 12 C と等しい N の最終値を置き換えます。ただし双方向またはランダム アクセス反復子に対してX 条件 満たされるまで N は 範囲の最大値で始まりスコープが低下する可能性があります。

  • X のような式 -X 座標および Y 座標が ランダム アクセス反復子の反復子である場合はy は 本質的に使用されます。関数はそのような値を決定する必要 - 演算子の評価を実行しません。これは式にも当てはまりますなどの xX+ N -N は 整数型である場合N

複数のアルゴリズムは bool の結果が得られるように operator== の場合比較はペアに実行する述語を使用します。述語関数 operator== いる場合の置換はオペランドの変更はできません。これはどちらかのオペランドのコピーはオペランドの代わりに評価される場合同じ結果を付ける必要があります bool のたびに同じ結果が生じます。

複数のアルゴリズムはシーケンスの要素のペアに厳密弱順序を課さなければある述語を使用します。述語 pr(xy) の場合 :

  • この厳密 pr を意味します (x)X は false です。

  • 意味しxy が等価 あることも表示されます。pr の y) ! (xpr(xy)(x == y を 定義する必要はありません)。

  • 命令はpr(*xy)*pr 意味します (Y) は pr(Z の X を Z) を意味します。

これらのアルゴリズムの一部を暗黙的に述語 < xy. を 使用します 通常厳密弱順序の要件を満たす他の述語は > xy より小さい (xy) と (Xgreatery) です。ただしxy <= xy >= のような配列はこの要件を満たさないしてください。

範囲 [FirstLast) の反復子で指定した要素のシーケンスは範囲 [0 Last の各 N に演算子が **<**順序付けシーケンス。 -範囲 (n Lastの各 M の First) と -述語 First)。(* (First + M< ()*+ N)) です。要素が昇順に並べ替えられることに注意してください)。述語関数 operator< いる場合の置換はオペランドの変更はできません。これはどちらかのオペランドのコピーはオペランドの代わりに評価される場合同じ結果を付ける必要があります bool のたびに同じ結果が生じます。また比較するオペランドに厳密弱順序を課さなければ必要があります。

範囲 [FirstLast) の反復子で指定した要素のシーケンスは範囲 [1 Last の各 キーoperator< によって順序が指定されたヒープ。 -述語 First)。(*First < * (First + N)) です。最初の要素は(最大) です。その内部構造はテンプレート関数 make_heappop_heappush_heap にのみ以外の場合はになります。順序付けられたシーケンスと同様に述語関数 operator< いる場合の置換はオペランドの変更は比較するオペランドに厳密弱順序を課さなければ必要があります。これはどちらかのオペランドのコピーはオペランドの代わりに評価される場合同じ結果を付ける必要があります bool のたびに同じ結果が生じます。

STL アルゴリズムは <algorithm><numeric> のヘッダー ファイルに含まれています。

参照

関連項目

標準テンプレート ライブラリ

C++ の標準ライブラリのスレッド セーフ