当前位置: 代码迷 >> 综合 >> 优先队列(priority_queue)
  详细解决方案

优先队列(priority_queue)

热度:73   发布时间:2024-02-06 14:31:14.0

优先队列:优先级最高的先出队。
队列和排序的完美结合,可以存储数据,还可以把这些数据按设定的规则进行排序。
每次的push和pop操作,优先队列都会动态调整,把优先级最高的元素放在前面。
相关操作:

q.top()		//返回具有最高优先级的元素值,但不删除该元素
q.pop()		//删除最高优先级元素
q.push(item)	//插入新元素

在STL中用二叉堆实现,队列中push/或pop一个数,复杂度为O(log2n)
可用其进行数据排序:设定数据小的优先级高,把所有数push进优先队列后一个个top出来,就得到了从小到大的排序。总复杂度O(nlog2n).