queueは、データは格納した順番で取り出すことができました。priority_queueは、内部で並び替えを行い、大きい順に取り出すことができます。 (小さい順に取り出すことも可能)
priority_queueを使うには、<queue>をインクルードします。
pop関数は先頭要素を削除します。
push関数は末尾に要素を挿入します。
empty関数は要素が無ければ真を返します。
size関数は要素の数を返します。
では、簡単なプログラムを見てみましょう。
// p_queue.cpp
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int n;
priority_queue<int> pq;
while (1) {
cout << "整数を入力(0で終了)---";
cin >> n;
if (n == 0)
break;
pq.push(n);
}
cout << "データを出力します" << endl;
while (!pq.empty()) {
cout << pq.top() << endl;
pq.pop();
}
return 0;
}
0以外の整数値を入力していきます。やめる時は0を入力します。そうすると、入力値の大きいものから順に表示されます。
Update Dec/23/2004 By Y.Kumei