#include <tpl_arrayHeap.H>
|
| ArrayHeap (const size_t &d=1024) |
| Constructor con dimensión por omisión.
|
|
| ArrayHeap (T *ptr, const size_t &d) |
| Constructor con arreglo y dimensión.
|
|
virtual | ~ArrayHeap () |
| Destructor.
|
|
T & | top () throw (std::exception, std::underflow_error) |
| Retorna el menor elemento del heap.
|
|
T & | insert (const T &key) throw (std::exception, std::overflow_error) |
|
T | getMin () throw (std::exception, std::underflow_error) |
|
T | get () throw (std::exception, std::underflow_error) |
|
T | getMax () throw (std::exception, std::underflow_error) |
|
const size_t & | size () const |
| Retorna la cantidad de elementos.
|
|
bool | is_empty () const |
| Retorna true si el heap está vacío.
|
|
void | update (T &data) |
|
void | remove (T &item) |
|
T & | operator[] (const size_t i) |
| Retorna la i-ésima entrada del heap.
|
|
template<class Operation > |
bool | traverse (Operation &operation) const |
|
template<class Operation > |
bool | traverse (Operation &operation) |
|
template<class Operation > |
bool | traverse (Operation &&operation=Operation()) const |
|
template<class Operation > |
bool | traverse (Operation &&operation=Operation()) |
|
| Functional_Methods (T) |
|
template<typename T, class Compare = Aleph::less<T>>
class Aleph::ArrayHeap< T, Compare >
Heap o cola de prioridad implementada con arreglos.
ArrayHeap define un heap instrumentado mediante un arreglo estático cuya dimensión es especificada en tiempo de construcción.
- Parámetros
-
T | el tipo de elementos que tiene el heap. |
Compare | el criterio de comparación entre los elementos el cual determina el tipo de orden y prioridad. |
- Ver también
- BinHeap DynBinHeap
template<typename T , class Compare = Aleph::less<T>>
T Aleph::ArrayHeap< T, Compare >::get |
( |
| ) |
|
throw | ( | std::exception, |
| | std::underflow_error |
| ) | | |
|
inline |
Esta es una función miembro sobrecargada que se suministra por conveniencia. Difiere de la anterior función solamente en los argumentos que acepta.
Hace referencia a Aleph::ArrayHeap< T, Compare >::getMin().
template<typename T , class Compare = Aleph::less<T>>
T Aleph::ArrayHeap< T, Compare >::getMax |
( |
| ) |
|
throw | ( | std::exception, |
| | std::underflow_error |
| ) | | |
|
inline |
Esta es una función miembro sobrecargada que se suministra por conveniencia. Difiere de la anterior función solamente en los argumentos que acepta.
Hace referencia a Aleph::ArrayHeap< T, Compare >::getMin().
template<typename T , class Compare = Aleph::less<T>>
T Aleph::ArrayHeap< T, Compare >::getMin |
( |
| ) |
|
throw | ( | std::exception, |
| | std::underflow_error |
| ) | | |
|
inline |
template<typename T , class Compare = Aleph::less<T>>
T& Aleph::ArrayHeap< T, Compare >::insert |
( |
const T & |
key | ) |
|
throw | ( | std::exception, |
| | std::overflow_error |
| ) | | |
|
inline |
Inserta un elemento en el heap.
insert(key) inserta en el heap la clave una copia de la clave key.
- Parámetros
-
- Devuelve
- una referencia modificable al elemento insertado.
- Excepciones
-
overflow_error | si el arreglo interno está lleno. |
template<typename T , class Compare = Aleph::less<T>>
Actualiza prioridad de una referencia contenida en el heap.
update(data) toma una referencia a un elemento dentro del heap, presumiblemente modificada, y actualiza su prioridad dentro del heap. La idea es que si por alguna razón una prioridad debe ser modificada, entonces ésta pueda actualizarse.
La referencia debe haberse obtenido mediante una llamada previa a insert().
- Parámetros
-
[in] | data | referencia a la entrada dentro del heap que se desea actualizar |
- Ver también
- insert()
- Nota
- Es esencial que data sea una referencia válida al heap. Resultados son impredecibles (y probablemente fatales) si este no es el caso.
La documentación para esta clase fue generada a partir del siguiente fichero: