优先队列(priority_queue)

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

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

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

©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页