Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la plantilla de la Clase Aleph::ArrayHeap< T, Compare >

#include <tpl_arrayHeap.H>

Métodos públicos

 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)
 
getMin () throw (std::exception, std::underflow_error)
 
get () throw (std::exception, std::underflow_error)
 
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)
 

Descripción detallada

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
Tel tipo de elementos que tiene el heap.
Compareel criterio de comparación entre los elementos el cual determina el tipo de orden y prioridad.
Ver también
BinHeap DynBinHeap

Documentación de las funciones miembro

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().

+ Gráfico de llamadas para esta función:

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().

+ Gráfico de llamadas para esta función:

template<typename T , class Compare = Aleph::less<T>>
T Aleph::ArrayHeap< T, Compare >::getMin ( )
throw (std::exception,
std::underflow_error
)
inline

Elimina el menor elemento del heap y retorna una copia del valor eliminado.

getMin() extrae del heap el elemento con menor valor según sea el criterio de comparación especificado.

Excepciones
underflow_errorsi el heap está vacío.
Devuelve
una copia del valor eliminado.

Referenciado por Aleph::ArrayHeap< T, Compare >::get() y Aleph::ArrayHeap< T, Compare >::getMax().

+ Gráfico de llamadas a esta función:

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
[in]keyclave a insertar.
Devuelve
una referencia modificable al elemento insertado.
Excepciones
overflow_errorsi el arreglo interno está lleno.
template<typename T , class Compare = Aleph::less<T>>
void Aleph::ArrayHeap< T, Compare >::update ( T &  data)
inline

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]datareferencia 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:

Leandro Rabindranath León