次の方法で共有


priority_queue クラス

最大または優先順位を常になコンテナー型の最上位の要素へのアクセスを制限する機能の制限を提供するテンプレート コンテナーのアダプター クラスです。 新しい要素は priority_queue に追加し、priority_queue の最上位の要素は、checked または削除できます。

template < 
   class Type,  
   class Container=vector<Type>, 
   class Compare=less<typename Container::value_type>  
> 
class priority_queue

パラメーター

  • Type
    priority_queue に格納される要素のデータ型。

  • Container
    priority_queue を実装するために使用される基本コンテナーの型。

  • Compare
    priority_queue の相対順序を決定するためには、並べ替えキーとして 2 要素の値を比較する関数オブジェクトを提供する型。 この引数は省略可能であり、二項述語の *<typenameの* コンテナー**::value_type**は*>既定値です。*

解説

キュー オブジェクトの一つ目のテンプレート パラメーターで指定されたクラス [種類] 要素は value_type と同じ意味で、2 番目のテンプレート パラメーターで指定される基本コンテナー クラス コンテナー 要素の型と一致する必要があります。 [種類] はその型のオブジェクトをコピーし、その型の変数に値を割り当てることができるように指定できる必要があります。

priority_queue はクラス 特徴のストアド関数オブジェクトを呼び出すことによって制御されるシーケンスを並べ替えます。 通常、要素は、この順序を確立するために小なり比較だけを実行できる必要があります。これにより、2 つの要素が指定されたときに、それらの要素が等しいか (どちらか一方が小さくはない)、または一方が他方より小さいかを判断できます。 この結果、等価でない複数の要素間で順序が付けられます。 テクニカル ノートでは、比較関数は、数学上の標準的な意味で厳密弱順序を発生させる二項述語であると示されています。

priority_queue に適している基になるコンテナー クラスは deque クラス と既定 vector クラス または frontの操作を、push_backpop_back とランダム アクセス反復子がサポートする他のシーケンス コンテナーが含まれています。 基になるコンテナー クラスはパブリック インターフェイスとしてシーケンス コンテナーのメンバー関数のセットだけを公開するコンテナーのアダプター内にカプセル化されます。

要素を追加し、priority_queue から要素を削除すると、両方の対数複雑です。 priority_queue 要素にアクセスすることで定数複雑です。

STL で定義されるコンテナーのアダプターの 3 種類があります。: スタック、キュー、priority_queue。 それぞれが標準データ構造にコントロール インターフェイスを提供する、基になるコンテナー クラスの機能は制限されています。

  • スタック クラス は a を最後に、最初の (LIFO) データ構造をサポートします。 注意するのに適した類似性がエディションのスタックです。 Edition 要素 () はベース コンテナーの端に最後の要素であるスタックの上部からのみ挿入、checked または削除されることがあります。 最上位の要素のみアクセスに制限はスタック クラスを使用する理由です。

  • キュー クラス は先入れ先出し (FIFO) のデータ構造体をサポートしています。 注意するのに適した類似性は銀行出納係に並べて人です。 要素 (Person) は、行の戻るに追加できますが、その場合は、各行から削除されます。 行の先頭および背面の両方がチェックされることがあります。 フロントと戻る要素のみアクセスに制限は次のようにキュー クラスを使用する理由です。

  • priority_queue クラスは最大の要素が上の位置に常に存在するように要素を並べ替えます。 これは上の要素の挿入および調査および削除をサポートします。 注意するのに適した類似性は、Age、高さ、またはそのほかの条件によって場所に配置を並べて人です。

コンストラクター

priority_queue

priority_queue を構築空か、ベース コンテナー オブジェクトまたはそのほかの priority_queueの範囲のコピーである。

Typedef

container_type

priority_queueが適合するベース コンテナーを提供する型。

size_type

priority_queue 内の要素の数を表すことができる符号なし整数型。

value_type

priority_queueの要素として格納されるオブジェクトの型を表す型。

メンバー関数

empty

priority_queue が空かどうかをテストします。

pop

上の位置から priority_queue の最大要素を削除します。

push

演算子<の要素の優先順位に基づいて優先順位キューに要素を追加します。

size

priority_queue 内の要素数を返します。

[top]

priority_queue上の最大要素への const 参照を返します。

必要条件

ヘッダー: <キュー>

名前空間: std

参照

関連項目

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

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