STLの優先キューpriority_queue
5304 ワード
要約:
priority_Queue、適応コンテナ(すなわちコンテナアダプタ):listでは構築できません.
最大値優先キュー(最大値は常に先頭、pushが入るとき)
最小値優先キュー;
優先キューアダプタSTL priority_queue
priority_queue> pg;
priority_queue> pg;
STLで実現する方法:
pg.empty();
pg.size();
pg.top();//キューヘッダの要素の表示
pg.pop();//キューの先頭から要素を削除する.
pg.push(item);//キューの最後から要素を入れる
priority_Queue、適応コンテナ(すなわちコンテナアダプタ):listでは構築できません.
最大値優先キュー(最大値は常に先頭、pushが入るとき)
最小値優先キュー;
優先キューアダプタSTL priority_queue
priority_queue
priority_queue
STLで実現する方法:
pg.empty();
pg.size();
pg.top();//キューヘッダの要素の表示
pg.pop();//キューの先頭から要素を削除する.
pg.push(item);//キューの最後から要素を入れる
1 #include <iostream>
2 #include <queue>
3
4 using namespace std;
5 int main()
6 {
7 // ,
8 priority_queue<int, vector<int> > pg;
9 priority_queue<int, deque<int> > pg2;
10 //priority_queue<int> pg3;
11
12 pg.push(10);
13 pg.push(5);
14 pg.push(-1);
15 pg.push(20);
16
17 std::cout <<"priority_queue first item: " << pg.top() << std::endl;
18 while(!pg.empty()){
19 std::cout<<"priority_queue del item: " << pg.top() << std::endl;
20 pg.pop();
21 }
22 // ,
23 priority_queue<int, deque<int>, greater<int> > pg3;
24 pg3.push(10);
25 pg3.push(5);
26 pg3.push(-1);
27 pg3.push(20);
28 std::cout <<"priority_queue first item: " << pg3.top() << std::endl;
29 while(!pg3.empty()){
30 std::cout<<"priority_queue del item: " << pg3.top() << std::endl;
31 pg3.pop();
32 }
33
34 return 0;
35 }