算法设计与分析课件 04 priority_ queue(优先队列).pptxVIP

  • 4
  • 0
  • 约1.82千字
  • 约 14页
  • 2026-06-10 发布于山东
  • 举报

算法设计与分析课件 04 priority_ queue(优先队列).pptx

算法设计与分析本节要点CONTENTSpriority_queue(优先队列)

priority_queuepriority_queue是一个优先队列,按照优先级出队,默认最大值优先。不支持数组表示法和随机访问。成员函数:push(x):x入队;pop():出队;top():取队头;size():返回队中元素个数;empty():判队空,若为空返回true。

priority_queue是一个优先队列,优先级高的最先出队,默认最大值优先。内部实现为堆,因此出队和入队的时间复杂度均为O(logn)。可以自定义优先级控制出队顺序,如果是数值,也可以加负号实现最小值优先,优先队列不支持删除堆中指定元素,只可以删除堆顶。使用priority_queue需要引入头文件#includequeue。priority_queue

优先队列定义:priority_queueint,vectorint,cmpque;其中,第一个参数为数据类型,第二个参数为容器类型,第三个参数为比较函数。后两个参数也可以省略。优先队列最常用的用法:priority_queueintque;//int类型,默认最大值优先priority_queue

有4种方法可以实现优先级控制:使用C++自带的库函数functional自定义优先级①自定义优先级②自定义优先级③priority_queue

方法1:使

文档评论(0)

1亿VIP精品文档

相关文档