priority_queue Class

提供限制对一些基础容器类型的顶部元素的功能限制访问权限,始终最大或最高优先级的模板容器适配器选件类。新元素可以添加到priority_queue,并且可以检查或移除priority_queue的顶部元素。

template <
   class Type, 
   class Container=vector<Type>,
   class Compare=less<typename Container::value_type> 
>
class priority_queue

参数

  • Type
    在priority_queue要存储的元素数据类型。

  • Container
    用于的基础容器的类型实现priority_queue。

  • 比较
    提供函数对象可以比较两个元素值的类型决定它们在priority_queue的相对顺序的排序关键字。此参数是可选的,并且二进制谓词 less*<typename 容器*::value_type***>* 是默认值。

备注

在队列对象的第一个模板参数要求的选件类 *** 类型 *** 的组件与 value_type 是同义词的,而且必须与第二个模板参数在基础容器选件类 Container 的要求的元素的类型。*** 类型 *** 必须是可赋值的,因此,复制该类型的对象和赋值。该类型的变量是可能的。

它通过调用选件类 Traits 一个单元的函数对象控件的priority_queue排序序列。通常,元素需要仅程度低于可比较的建立此顺序:因此将任何两个元素,可以确定为它们是等效的(来讲都比其他不小于)或一个比其他小于。这将导致排序在非等价的元素之间。在技术声明,比较函数是生成强弱顺序在标准数学有意义的二进制性质。

priority_queue适当的基础容器选件类包括 、向量、双端队列选件类 和默认值 向量选件类 或支持 front操作、push_backpop_back 和一个随机访问迭代器的其他序列容器。基础容器选件类在容器适配器中封装,仅显示一组有限序列容器成员函数作为公共接口。

添加元素和移除元素从 priority_queue 都具有对数复杂。访问 priority_queue 的元素具有常数的复杂性。

具有STL定义的容器适配器的三种类型:堆栈、队列和priority_queue。每个限制一些基础容器选件类的功能提供了一种准确地控件接口都将写入一个标准数据结构。

  • 堆栈选件类 支持的前面,初始(LIFO)数据结构。需要注意的一种好模拟是堆栈牌照。元素(牌照)可以从堆栈的顶部插入,检查或仅移除,是最后一个元素在基容器的末尾。访问仅顶部的元素的限制是使用原因堆栈选件类。

  • 队列选件类 支持的先进先出,初始(FIFO)数据结构。需要注意的一种好模拟是排队为bank出纳的人。元素(人员)可以添加到行的返回和从行的前面。移除。front和行的返回可以检查。访问仅front和back元素的限制通过这种方式使用原因队列选件类。

  • priority_queue选件类对其元素,以便最大的元素始终位于顶部的位置。它支持组件插入和顶部的元素的测试和删除。需要注意的一种好模拟是排队的用户年龄、高度,或某个其他条件之前的位置排列它们。

4ef4dae9.collapse_all(zh-cn,VS.110).gif构造函数

priority_queue

构造为空或是基容器对象的大小的副本或其他 priority_queuepriority_queue

4ef4dae9.collapse_all(zh-cn,VS.110).gifTypedef

container_type

提供 priority_queue将适合的基容器的类型。

size_type

可能表示元素的数目。priority_queue的无符号整数类型。

value_type

表示作为元素存储的对象的类型。priority_queue的类型。

4ef4dae9.collapse_all(zh-cn,VS.110).gif成员函数

empty

如果 priority_queue 为空,测试。

pop

从顶部的位置移除 priority_queue 的最大的元素。

push

将元素添加到基于元素的优先级优先级队列从operator<。

size

返回元素数。priority_queue的。

top

返回const对最大的元素在 priority_queue顶部。

要求

Header: <queue>

命名空间: std

请参见

参考

线程安全性对标准C++库中

标准模板库