![]() |
RMVL
2.1.1
Robotic Manipulation and Vision Library
|
支持随机访问的堆(与 std::priority_queue 具备相同的基础容器筛选条件)
更多...
#include <rmvl/algorithm/datastruct.hpp>
Public 类型 | |
| typedef Tp | value_type |
| typedef Tp & | reference |
| typedef const Tp & | const_reference |
| typedef std::size_t | size_type |
| typedef Sequence | container_type |
| typedef Compare | value_compare |
Public 成员函数 | |
| RaHeap ()=default | |
| void | push (const Tp &x) |
| 在堆顶添加元素 | |
| void | push (Tp &&x) |
| 在堆顶添加元素 | |
| template<typename ValueType > | |
| void | emplace (ValueType &&x) |
| 在堆顶添加元素 | |
| void | update (const Tp &prev, const Tp &value) |
| 更新元素 | |
| void | erase (const Tp &value) |
| 删除指定元素 | |
| void | pop () |
| 弹出堆顶 | |
| bool | empty () |
| 堆是否为空 | |
| std::size_t | size () |
| 堆的大小 | |
| const Tp & | top () const |
| 获取堆顶元素 | |
| const Sequence & | extract () const |
| 导出容器 | |
支持随机访问的堆(与 std::priority_queue 具备相同的基础容器筛选条件)
| Tp | 元素类型 |
| Sequence | 容器类型,默认为 std::vector<Tp> |
| Compare | 比较器可调用对象,默认为 std::less<Tp>,即默认为大根堆 |
| const Tp& rm::RaHeap< Tp, Sequence, Compare >::const_reference |
| Sequence rm::RaHeap< Tp, Sequence, Compare >::container_type |
| Tp& rm::RaHeap< Tp, Sequence, Compare >::reference |
| std::size_t rm::RaHeap< Tp, Sequence, Compare >::size_type |
| Compare rm::RaHeap< Tp, Sequence, Compare >::value_compare |
| Tp rm::RaHeap< Tp, Sequence, Compare >::value_type |
|
default |
|
inline |
在堆顶添加元素
| [in] | x | 待添加的元素 |
|
inline |
堆是否为空
|
inline |
删除指定元素
| [in] | value | 待删除的元素 |
|
inline |
导出容器
|
inline |
弹出堆顶
|
inline |
在堆顶添加元素
| [in] | x | 待添加的元素 |
|
inline |
在堆顶添加元素
| [in] | x | 待添加的元素 |
|
inline |
堆的大小
|
inline |
获取堆顶元素
|
inline |
更新元素
| [in] | prev | 之前的元素 |
| [in] | value | 改动后的元素 |
1.12.0