优先队列及应用
优先队列及应用 优先队列定义: 能够完成以下操作的数据结构叫做优先队列: 插入一个数值 取出最小或最大值 为实现优先队列,需用到数据结构“ 堆 ” 堆及相关操作 https://blog.csdn.net/qq_45769877/article/details/104077952 但大部分情况并不需要自己实现堆: C++中的STL中priority_queue有优先队列的相关操作 //头文件 # include "queue" using namespace std ; //声明 priority_queue < int > pque ; //进堆 pque . push ( 1 ) ; //堆是否为空 pque . empty ( ) ; //堆头出堆 pque . pop ( ) ; //获得堆顶元素 pque . top ( ) ; //堆的长度 pque . size ( ) ; 有一个问题时:程序默认为大根堆 如何设定大根堆和小根堆:greater()和less()函数 定义:Type为元素类型,Container在STL中默认为vector,Functional 是比较的方式 priority_queue < Type , Container , Functional > //greater()和less()的头文件 # include "functional" #