priority_queue 类

提供限制对一些基础类型容器顶部元素的功能限制访问,总是最大或最高优先级别的模板容器适配器类。 新元素可以添加到 priority_queue,可以选中或 priority_queue 的顶部移除元素。

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

参数

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

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

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

备注

在队列对象的第一个参数的模板类 类型 的元素。value_type 是同义词的,而且必须与第二个模板参数在基础容器类 容器 (O) 上的元素的类型。 类型 必须是可赋值的复制,因此,该类型的对象并为值为该类型的变量是可能的。

它通过调用 特征的类存储的函数控制对象的 priority_queue 对序列。 通常,元素仅需小于比较以进行排序,因此,给定任意两个元素,可以确定它们是相等的(即两者均不小于对方)或其中一个小于另一个。 这将导致在非等效元素之间进行排序。 在技术声明,比较函数是生成强弱顺序在标准数学有意义的二进制性质。

相应的基础容器。priority_queue 包括 deque 类矢量类 默认类和或支持 frontpush_backpop_back 运算和随机访问迭代器的其他序列容器。 基础容器类容器内公开设置容器封装适配器,只能有限序列成员函数作为一个公共接口。

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

具有定义 STL 容器中的三种适配器类型:堆栈、队列和 priority_queue。 每个限制一些基础容器类的功能提供精确控制。一个界面标准数据结构。

  • 堆栈类 支持的后进先出,初始 (LIFO) 数据结构。 需要谨记的一种好模拟是堆栈牌照。 元素 (牌照) 可能从堆栈的顶部插入,检查或仅移除,最后是在基容器元素的末尾。 访问只顶部元素的限制是原因使用堆栈类。

  • 队列类 支持先进先出 (FIFO) 数据结构。 需要谨记的一种好模拟是队列的 Bank 出纳的人。 元素 (人员) 可能添加到行中返回和从行的前面。移除。 前面和直线的返回可能检查。 访问只前面并返回元素的限制这是原因使用队列类。

  • priority_queue 类对其元素,以使最大的元素始终在顶部位置。 它支持的元素插入和顶部元素的检查和删除。 需要谨记的一种好模拟是年龄队列的人、高度,或者某种其他标准前面的位置排列它们。

构造函数

priority_queue

构造为 NULL 或为基容器对象范围复制或其他 priority_queuepriority_queue

Typedef

container_type

提供 priority_queue中容纳的基容器的类型。

size_type

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

value_type

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

成员函数

empty

测试,如果 priority_queue 为 null。

pop

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

push

将元素添加到的基于元素优先级别的优先级队列从该运算符<。

size

返回priority_queue中元素的数目。

top

返回到更大元素的常数引用 priority_queue顶部。

要求

页眉: <队列>

命名空间: std

请参见

参考

C++ 标准库中的线程安全

标准模板库