c++prority_queue 优先队列

1.头文件

#include 

2.定义

priority_queue< typename > name;

3.相关的操作

(1) top() 访问队首
(2) push() 
(3) pop()
(4) empty()
(5) size()

4.元素的优先级设置

4.1基本类型的优先级设置
/*例如:int double char */

priority_queue<int> p;	//默认的大顶堆,就是先输出大数据 "5 4 3 2 1"
priority_queue<int, vector<int>, greater<int> > p; 	//小顶堆,先输出小数据 "1 2 3 4 5"

4.2结构体的优先级设置

重载了<符号

#include 
using namespace std;

struct msg{
    
    char mse[12];
    int priority;
    
    //重载
    friend bool operator < (msg a, msg b) {
        return a.priority > b.priority;
    }
};

priority_queue<msg> pq;           

5.参考

参考书籍:
« 算法笔记»

参考文章:
文章1
文章2

你可能感兴趣的:(数据结构和算法相关归纳,c++,stl)