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 类矢量类 默认类和或支持 front、push_back和 pop_back 运算和随机访问迭代器的其他序列容器。 基础容器类容器内公开设置容器封装适配器,只能有限序列成员函数作为一个公共接口。
添加元素。和移除元素。priority_queue 两者都具有复杂对数。 访问 priority_queue 的元素具有常数的复杂性。
具有定义 STL 容器中的三种适配器类型:堆栈、队列和 priority_queue。 每个限制一些基础容器类的功能提供精确控制。一个界面标准数据结构。
堆栈类 支持的后进先出,初始 (LIFO) 数据结构。 需要谨记的一种好模拟是堆栈牌照。 元素 (牌照) 可能从堆栈的顶部插入,检查或仅移除,最后是在基容器元素的末尾。 访问只顶部元素的限制是原因使用堆栈类。
队列类 支持先进先出 (FIFO) 数据结构。 需要谨记的一种好模拟是队列的 Bank 出纳的人。 元素 (人员) 可能添加到行中返回和从行的前面。移除。 前面和直线的返回可能检查。 访问只前面并返回元素的限制这是原因使用队列类。
priority_queue 类对其元素,以使最大的元素始终在顶部位置。 它支持的元素插入和顶部元素的检查和删除。 需要谨记的一种好模拟是年龄队列的人、高度,或者某种其他标准前面的位置排列它们。
构造函数
构造为 NULL 或为基容器对象范围复制或其他 priority_queue的 priority_queue。 |
Typedef
提供 priority_queue中容纳的基容器的类型。 |
|
priority_queue中能表示元素数的无符号整数类型。 |
|
表示为 priority_queue的元素存储的对象的类型的类型。 |
成员函数
测试,如果 priority_queue 为 null。 |
|
从顶部位置移除 priority_queue 的最大的元素。 |
|
将元素添加到的基于元素优先级别的优先级队列从该运算符<。 |
|
返回priority_queue中元素的数目。 |
|
返回到更大元素的常数引用 priority_queue顶部。 |
要求
页眉: <队列>
命名空间: std