#include <tpl_arrayStack.H>
Métodos públicos | |
FixedStack (size_t d=512) | |
Constructor. | |
FixedStack (const FixedStack &s) | |
void | swap (FixedStack &s) |
FixedStack (FixedStack &&s) | |
FixedStack & | operator= (const FixedStack &s) |
FixedStack & | operator= (FixedStack &&s) |
T & | push (const T &data) |
T & | push (T &&data) |
T & | pushn (const size_t &n=1) |
T | pop () |
T | popn (const int &n) |
T & | top () |
retorna una referencia al elemento situado en el tope de la pila. | |
T & | top () const |
T & | base () |
T & | top (const int &i) |
bool | is_empty () const |
Retorna true si la pila está vacía. | |
void | empty () |
Vacía todos los elementos de la pila. | |
const size_t & | size () const |
Retorna el número de elementos que contiene la pila. | |
template<class Operation > | |
bool | traverse (Operation &operation) |
template<class Operation > | |
bool | traverse (Operation &operation) const |
template<class Operation > | |
bool | traverse (Operation &&operation=Operation()) const |
template<class Operation > | |
bool | traverse (Operation &&operation=Operation()) |
Functional_Methods (T) | |
Generic_Items (T) | |
Pila implantada con arreglos estáticos y sin verificación de número de elementos.
FixedStack<T> instrumenta una pila de elementos de tipo T con una capacidad máxima de dim elementos. Para este tipo, ninguna operación efectúa verificación acerca del número de elementos. Por esa razón FixedStack es más rápido que ArrayStack.
Una pila instrumentada mediante un arreglo es mucho más rápida que una instrumentada con listas enlazadas.
El arreglo interno es estático, lo que ahorra llamadas al manejador de memoria, pero que hace su uso delicado a medida que la cantidad de elementos es mayor. Por lo general debe ser utilizada para pilas pequeñas.
T | tipo de elemento que alberga la pila. equivalente a la dimensión del arreglo. |
|
inline |
Saca un elemento de la pila.
Extrae el elemento situado en el tope de la pila.
Referenciado por Node_Pool< Knode >::allocate() y Aleph::quicksort().
|
inline |
Saca n elementos de la pila.
popn(n) saca los n elementos a partir del tope.
La operación toma tiempo constante.
[in] | n | número de elementos a sacar. |
|
inline |
Inserta en la pila una copia de data.
push(data) inserta en la pila una copia del valor de data.
[in] | data |
Referenciado por Node_Pool< Knode >::deallocate(), Aleph::Gen_Avl_Tree< AvlNode, Key, Compare >::Gen_Avl_Tree() y Aleph::quicksort().
|
inline |
Empuja n espacios con valor indefinido en la pila.
pushn(n) es equivalente a n push con valor de elemento indeterminado. La idea es apartar espacio en pila para luego accederlo en tiempo constante.
La operación toma tiempo constante.
[in] | n | número de espacios a ser apartados. |
|
inline |
Retorna una referencia al elemento situado i posiciones después del tope.
top(i) accede al elemento de la pila situado i posiciones luego del tope.
[in] | i | número de posiciones después del tope. |