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);//キューの最後から要素を入れる
 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 }