C++優先キュー(priority_queue)の使い方の詳細


優先順位キューは通常のキューに比べて1つの要素ソートプロセスが多くなり、具体的なソートルールは伝達関数パラメータによって決定されます.
  • ヘッダファイル:#include
  • 基本関数empty()キューが空の場合は真pop()を返してトップ要素を削除し、最初の要素push()を削除して1つの要素size()を加えて優先キューに所有する要素の個数top()を返して優先キューのトップ要素を返し、優先キューの中で最も優先度の高い要素
  • を返します.
    デフォルトの優先キューでは、優先度の高い先行キューが表示されます.デフォルトのint型で先頭に立つのは大きな数です.
  • 定義:priority_queueは、それぞれ入力タイプ、コンテナカテゴリ、比較関数であり、ここで比較関数はカスタマイズ可能であり、手書きで
  • を実現することもできる.
  • 例:
  • #include
    #include
    //    
    priority_queue ,greater > q;
    //    
    priority_queue ,less >q;
    
    #include
    #include 
    using namespace std;
    int main() 
    {
        priority_queue x; 
        //    priority_queue, less > x;
        
        //                     ,         ↓
        priority_queue, greater > y;  
    
        for (int i = 0; i < 5; i++) 
        {
            x.push(i);
            y.push(i);
        }
        while (!x.empty()) 
        {
            cout << x.top() << '  ';
            x.pop();
        } 
        cout << endl;
    
        while (!y.empty()) 
        {
            cout << y.top() << '  ';
            y.pop();
        }
        cout << endl;
    system("pause");
        return 0;
    }
    
    

    結果:4 3 2 1 0 1 2 3 4