class MinHeap

template<class K, class V>

Binary tree where each nodes is less than or equal to the data in its node's children.

Public

Constructors

MinHeap<K, V>

MinHeap<K, V>() = default

MinHeap<K, V>

MinHeap<K, V>(const MinHeap<K, V> &other)

MinHeap<K, V>

MinHeap<K, V>(u32 elements)

Methods

Empty

bool Empty() const

Size

u32 Size() const

Minimum

void Minimum(K &key, V &value)

Insert

HeapNode<K, V> *Insert(const K &key, const V &value)

Erase

void Erase(K &key, V &value)

Update

void Update(HeapNode<K, V> *node, const V &value)

Resize

void Resize(u32 elements)

Valid

bool Valid() const

Operators

operator=

MinHeap<K, V> &operator=(const MinHeap<K, V> &other)

operator[]

HeapNode<K, V> operator[](u32 index)

operator[]

const HeapNode<K, V> operator[](u32 index) const

Private

Fields

mSize

u32 mSize

mNode

TArray<HeapNode<K, V>> mNode

mPtr

TArray<HeapNode<K, V> *> mPtr