C ++ライブラリ-<キュー>

キューの概要

キューは、FIFO(先入れ先出し)コンテキストで動作するように設計されたデータ構造です。キュー内の要素はリアエンドから挿入され、フロントエンドから削除されます。

キュークラスはコンテナアダプタです。コンテナは、同じタイプのデータを保持するオブジェクトです。キューは、さまざまなシーケンスコンテナから作成できます。コンテナアダプタはイテレータをサポートしていないため、データ操作に使用することはできません。ただし、データの挿入と削除のために、それぞれpush()pop()のメンバー関数をサポートしています。

定義

以下は、<queue>ヘッダーファイルからのstd :: queuerの定義です。

template <class T, class Container = deque<T> > class queue;

パラメーター

  • T −含まれている要素のタイプ。

    Tは、ユーザー定義型を含む他のデータ型に置き換えることができます。

  • Container −基になるコンテナオブジェクトのタイプ。

メンバータイプ

以下のメンバータイプは、パラメーターとして使用したり、メンバー関数によってタイプを返すことができます。

シニア番号 メンバータイプ 定義
1 value_type T(テンプレートの最初のパラメーター)
2 container_type テンプレートの2番目のパラメーター
3 size_type size_t
4 参照 value_type&
5 const_reference const value_type&
6 Difference_type ptrdiff_t

<キュー>からの関数

以下は、<queue>ヘッダーのすべてのメソッドのリストです。

コンストラクター

シニア番号 方法と説明
1 queue :: queue デフォルトコンストラクタ

要素がゼロの空のキューオブジェクトを作成します。

2 queue :: queue 初期化コンストラクター

キューオブジェクトを構築し、ctnrのコピーによって内部コンテナを割り当てます。

3 queue :: queuemove コンストラクター

移動セマンティクスを使用して、他のコンテンツでキューを構築します。

4 queue :: queue コピーコンストラクタ

既存のキューotherに存在する各要素のコピーを使用してキューを構築します。

デストラクタ

シニア番号 方法と説明
1 queue :: 〜queue

コンテナメモリの割り当てを解除して、キューを破棄します。

メンバー関数

シニア番号 方法と説明
1 queue :: back

キューの最後の要素への参照を返します。

2 queue :: emplace

キューの最後に新しい要素を作成して挿入します。

3 queue :: empty

キューが空かどうかをテストします。

4 queue :: front

キューの最初の要素への参照を返します。

5 queue :: operator =コピーバージョン

古いコンテンツを置き換えることにより、新しいコンテンツをキューに割り当てます。

6 queue :: operator =ムーブバージョン

古いコンテンツを置き換えることにより、新しいコンテンツをキューに割り当てます。

7 queue :: pop

キューのフロント要素を削除します。

8 queue :: pushコピーバージョン

キューの最後に新しい要素を挿入します。

9 queue :: pushmoveバージョン

キューの最後に新しい要素を挿入します。

10 queue :: size

キューに存在する要素の総数を返します。

11 queue :: swap

キューの内容を別のキューの内容と交換します。

非メンバーのオーバーロードされた関数

シニア番号 方法と説明
1 演算子==

2つのキューが等しいかどうかをテストします。

2 演算子!=

2つのキューが等しいかどうかをテストします。

3 演算子<

最初のキューが他のキューよりも少ないかどうかをテストします。

4 演算子<=

最初のキューが他のキュー以下であるかどうかをテストします。

5 演算子>

最初のキューが他のキューよりも大きいかどうかをテストします。

6 演算子> =

最初のキューが他のキュー以上であるかどうかをテストします。

7 スワップ

2つのキューの内容を交換します。

priority_queueの概要

優先キューは、優先度を保持するキューデータ構造です。優先度付きキューは、要素を任意の順序で挿入でき、常に最大ヒープ要素が最初に取得されるヒープデータ構造に類似しています。

定義

以下は、<queue>ヘッダーファイルからのstd :: priority_queueの定義です。

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

パラメーター

  • T −含まれている要素のタイプ。

    Tは、ユーザー定義型を含む他のデータ型に置き換えることができます。

  • Container −基になるコンテナオブジェクトのタイプ。

  • Compare −priority_queueの順序付けに使用される比較オブジェクト。

    これは、2つの引数を比較できる関数ポインタまたは関数オブジェクトである可能性があります。

メンバータイプ

以下のメンバータイプは、パラメーターとして使用したり、メンバー関数によってタイプを返すことができます。

シニア番号 メンバータイプ 定義
1 value_type T(テンプレートの最初のパラメーター)
2 container_type テンプレートの2番目のパラメーター
3 size_type size_t
4 参照 value_type&
5 const_reference const value_type&
6 Difference_type ptrdiff_t

<キュー>からの関数

以下は、<queue>ヘッダーのすべてのメソッドのリストです。

コンストラクター

シニア番号 方法と説明
1 priority_queue :: priority_queue デフォルトコンストラクタ

ゼロ要素で空のpriority_queueを構築します。

2 priority_queue :: priority_queue 初期化コンストラクター

priority_queueオブジェクトを構築し、ctnrのコピーによって内部コンテナを割り当てます。

3 priority_queue :: priority_queue 範囲コンストラクター

最初から最後までの範囲の要素をできるだけ多く使用してpriority_queueを構築します。

4 priority_queue :: priority_queue 移動コンストラクター

移動セマンティクスを使用して、他のコンテンツでpriority_queueを構築します。

5 priority_queue :: priority_queue コピーコンストラクタ

既存のpriority_queueotherに存在する各要素のコピーを使用してpriority_queueを構築します。

デストラクタ

シニア番号 方法と説明
1 priority_queue :: 〜priority_queue

コンテナメモリの割り当てを解除してpriority_queueを破棄します。

メンバー関数

シニア番号 方法と説明
1 priority_queue :: emplace

新しい要素を作成し、priority_queueに並べ替えられた順序で挿入します。

2 priority_queue :: empty

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

3 priority_queue :: operator = コピーバージョン

古いコンテンツを置き換えることにより、priority_queueに新しいコンテンツを割り当てます。

4 priority_queue :: operator = ムーブバージョン

古いコンテンツを置き換えることにより、priority_queueに新しいコンテンツを割り当てます。

5 priority_queue :: pop

priority_queueのfront要素を削除します。

6 priority_queue ::プッシュ コピーバージョン

ソートされた順序で新しい要素を挿入します。

7 priority_queue ::プッシュ 移動バージョン

ソートされた順序で新しい要素を挿入します。

8 priority_queue :: size

priority_queueに存在する要素の総数を返します。

9 priority_queue :: swap

priority_queueの内容を別のpriority_queueの内容と交換します。

10 priority_queue :: top

priority_queueの最初の要素への参照を返します

非メンバーのオーバーロードされた関数

シニア番号 方法と説明
1 スワップ

priority_queueの内容を別のpriority_queueの内容と交換します。