我是靠谱客的博主 温婉睫毛膏,最近开发中收集的这篇文章主要介绍标准模板库STL中优先队列Priority Queues使用手册,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

优先队列容器默认使用向量容器实现,用户也可以使用双端队列容器。优先队列总是把优先级最高的元素放在队列的最前方,来保持队列的有序性。

插入操作push()使用一个双变量的布尔函数,将队列中的元素重新排序,以满足这个要求。

该函数可以由用户提供,否则可以使用<操作符,元素越大,优先级越高。

如果元素越小,优先级越高,则需要使用函数对象greater,表明在决定向优先级队列中插入新元素时,push()应该使用的操作符是>而不是<.

 

 成员函数:

empty

true if the priority queue has no elements

pop

removes the top element of a priority queue

push

adds an element to the end of the priority queue

size

returns the number of items in the priority queue

top

returns the top element of the priority queue

 

在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的<操作符来确定它们之间的优先级关系。

优先队列的第一种用法,也是最常用的用法:

priority_queue<int> qi;

通过<操作符可知在整数中元素大的优先级高。

故示例1中输出结果为:9 6 5 3 2

第二种方法:

在示例1中,如果我们要把元素从小到大输出怎么办呢?

这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。

priority_queue<int, vector<in

最后

以上就是温婉睫毛膏为你收集整理的标准模板库STL中优先队列Priority Queues使用手册的全部内容,希望文章能够帮你解决标准模板库STL中优先队列Priority Queues使用手册所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部