RMVL
1.5.0-dev
Robotic Manipulation and Vision Library
|
支持随机访问的堆(与 std::priority_queue
具备相同的基础容器筛选条件)
更多...
#include <rmvl/core/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 | 改动后的元素 |