STL之优先级队列priority_queue

简介: 摘要:   priority_queue,自适应容器(即容器适配器):不能由list来组建;   最大值优先级队列(最大值始终在对首,push进去时候)   最小值优先级队列;   优先级队列适配器 STL  priority_queue   priority_queue pg;   priority_queue pg;   STL中实现的方法:     pg.

摘要:

  priority_queue,自适应容器(即容器适配器):不能由list来组建;

  最大值优先级队列(最大值始终在对首,push进去时候)

  最小值优先级队列;

  优先级队列适配器 STL  priority_queue

  priority_queue<int, deque<int> > pg;

  priority_queue<int, vector<int> > 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 }

 

 

相关文章
|
2月前
|
存储 算法 C语言
【C++入门到精通】C++入门 —— priority_queue(STL)优先队列
本文介绍了C++的STL组件`std::priority_queue`,它是一个容器适配器,实现优先队列数据结构,通常基于堆实现。文章讨论了优先队列的基本概念、特点和底层堆结构,强调了其自动排序和优先级最高元素的访问。还展示了如何定义、插入、访问和移除元素,以及自定义比较函数。此外,提供了模拟实现`priority_queue`的代码示例,探讨了仿函数的作用,包括默认的`std::less`和自定义比较函数。文章鼓励读者进一步探索C++的优先队列及其应用。
27 3
|
2月前
|
存储 算法 调度
【C/C++ 数据结构 优先队列】了解学习`std::priority_queue`的使用
【C/C++ 数据结构 优先队列】了解学习`std::priority_queue`的使用
44 3
|
9月前
|
存储 算法 C++
C++ STL priority_queue
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。
|
5月前
|
存储 算法 C++
C++优先级队列priority_queue详解及其模拟实现
C++优先级队列priority_queue详解及其模拟实现
50 0
|
7月前
|
算法 Serverless C++
【C++】STL使用仿函数控制优先级队列priority_queue
【C++】STL使用仿函数控制优先级队列priority_queue
|
7月前
|
存储 算法 C++
『C++ - STL』之优先级队列( priority_queue )
『C++ - STL』之优先级队列( priority_queue )
|
7月前
|
存储 算法 程序员
stack、queue、priority_queue的使用和简单实现【STL】
stack、queue、priority_queue的使用和简单实现【STL】
30 0
|
11月前
|
存储 算法 C++
C++【STL】之priority_queue学习
C++ STL 优先级队列,常用接口的使用和模拟实现详细讲解,干货满满!
70 1
C++【STL】之priority_queue学习
|
12月前
|
算法 容器
stack_queue | priority_queue | 仿函数
stack_queue | priority_queue | 仿函数
80 0
|
12月前
|
存储 设计模式 算法
【STL】stack、queue、priority_queue模拟实现
一. deque简单介绍 1.1 deque的功能介绍 deque(双端队列