###############導入###
C の優先キューはデータ構造において通常のキューとは異なりますが、異なる点が 1 つあります。それは、すべての要素に優先順位があることです。キューを反復処理することでその要素を抽出できます。
ただし、このチュートリアルでは、優先キューの最後の要素をトラバースせずに抽出する方法を試みています。はじめましょう……###プライオリティキューとは何ですか?
2 つの要素の優先順位が同じ場合、優先キューは FIFO (先入れ先出し) の原則に従ってフェッチされます。
要素を抽出できる優先キューには 2 つのタイプがあります -
昇順優先キュー
-このタイプの優先キューでは、要素は昇順でフェッチされます。優先度が最も低い要素が最初に削除されます。降順優先キュー -このタイプの優先キューでは、要素は昇順でフェッチされます。優先度が最も高い要素が最初に削除されます。
ここでは、キュー全体を走査せずに、優先キューの最後の要素を抽出します。バイナリ ツリーを通じて優先キューを実装します。このプロセス中に次の組み込みメソッドを使用します -
構文
queue_name .size()
insert() - 要素を優先キューに挿入します。 構文
-queue_name.insert(data_type)getMin()
- 優先キューの最小要素を返します。構文
-queue_name.getMin()getMax()
-優先キュー内の最大の要素を返します。構文
- queue_name.getMax()構文 - queue_name.getMax()
isEmpty()
deleteMin()
構文
-queue_name.deleteMin()deleteMax()
- 最大のキュー要素を削除します構文-queue_name.deleteMax()
ステップ 1
- キュー操作の構造クラスを作成します。
ステップ 3
- 要素を優先キューに挿入します。ステップ 4
- getMin() や getMax などの組み込み関数を使用すると、トラバースせずに最小要素と最大要素 () を取得できます。###例### キューから最後の要素を抽出するための C コード リーリー ###出力### リーリー ###結論は###
プライオリティ キューは、配列、ヒープ データ構造、リンク リスト、バイナリ ツリーを通じて実装できます。隠されたパスやさまざまなアルゴリズムを明らかにするのに役立ちます。これでこのチュートリアルは終了です。このチュートリアルが有意義であると感じていただければ幸いです。
以上が優先キューの最後の要素をトラバースせずに抽出します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。