priority_queue Class
最大または最も優先度の高いに必ずなコンテナー型の上部にある要素へのアクセスを制限する機能の制限を提供するテンプレート コンテナーのアダプター クラス。新しい要素は priority_queue に追加し、priority_queue の最上位の要素は検査するか、または削除できます。
template <
class Type,
class Container=vector<Type>,
class Compare=less<typename Container::value_type>
>
class priority_queue
パラメーター
型
priority_queue に格納される要素のデータ型。Container
priority_queue を実装するために使用する基のコンテナーの型。[比較]
priority_queue ディレクティブの相対位置を特定するために、並べ替えキーとして 2 要素の値を比較できる関数オブジェクトを提供する型。このオプションを省略すると、述語の lessバイナリ*<typename コンテナー*::value_type***> が* 既定値です。
解説
キュー オブジェクトの最初のテンプレート パラメーターで前述したクラス [種類] の要素は value_type と同じ意味で、2 番目のテンプレート パラメーターで前述した基になるコンテナー クラス [コンテナー] の要素の型と一致する必要があります。[種類] はその型のオブジェクトをコピーしてその型の変数に値を割り当てることができるように指定できる必要があります。
priority_queue は、クラス Traits格納されているオブジェクトの関数を呼び出して制御するシーケンスの順序を指定します。通常、要素はこの順序を設定する場合にのみ対応未満である必要があります: または (という意味でいずれも他より小さくない) 等しいことが、任意の 2 種類の要素は、いずれかの決定されるそのほか未満であること。これは、不一致要素間の順序で発生します。テクニカル ノートで、比較関数は、標準の数値は厳密弱順序を引き起こすバイナリ述語です。
priority_queue に適している基になるコンテナー クラスが deque のクラス および既定 ベクターのクラス または front操作を、push_backと pop_back とランダム アクセス反復子サポートするそのほかのシーケンス コンテナーが含まれます。基になるコンテナー クラスは、パブリック インターフェイスとしてシーケンス コンテナー メンバー関数のセットだけを公開するコンテナーのアダプター内にカプセル化します。
要素をに追加し、に priority_queue から要素を削除するには、対数の複雑さがあります。priority_queue の要素にアクセス定数複雑です。
STL コンテナーによって定義されているアダプターの 3 種類があります: スタック、キュー、および priority_queue。各は標準的なデータ構造に正確にコントロールのインターフェイスを提供する基になるコンテナー クラスの機能を制限します。
スタックのクラス は、を最後に、(LIFO) の最初のデータ構造体。に考慮する必要がある点の類似性がスタックのバージョンです。要素 (基本バージョン) は、コンテナーの端に最後の要素であるスタックの最上位からのみ挿入、検査するか、または削除される場合があります。最上位の要素のみにアクセスを制限は、スタックのクラスを使用する理由です。
キュー クラス は先入れ先出し (FIFO (FIFO) のデータ構造をサポートします。に考慮する必要がある点の類似性は Bank 係というように並べているユーザーです。要素 (ユーザー) は、行の [戻る] に追加された場合は、行頭から削除されます。行の先頭と背面は、検査される場合があります。フロントとバックの要素のみにアクセスを制限は次のようにキュー クラスを使用する理由です。
priority_queue のクラスは最大の要素が上部の位置に常に存在するように要素を並べ替えます。また、全体の要素の挿入および確認および削除をサポートします。に考慮する必要がある点の類似性は、年齢、高さ、または他の条件によって場所に配置するか並べているユーザーです。
コンストラクター
を構築します priority_queue 空か、基本コンテナー オブジェクトまたはそのほかの priority_queueの範囲のコピーである。 |
Typedef
priority_queueを同期ベースのコンテナーを提供する型。 |
|
priority_queueの要素数を表すことができる符号なし整数の型。 |
|
priority_queueの要素として格納されるオブジェクトの型を表す型。 |
メンバー関数
priority_queue が空かどうかをテストします。 |
|
上部の位置から priority_queue の最大の要素を削除します。 |
|
operator< から要素の優先順位に基づいて優先順位キューに要素を追加します。 |
|
priority_queueの要素数を返します。 |
|
priority_queueの先頭で最も大きな要素への const 参照を返します。 |
必要条件
Header: <queue>
名前空間: std