Métodos públicos | |
ArrayStack () | |
Constructor. | |
void | empty () |
Vacía todos los elementos de la pila. | |
bool | is_empty () const |
Retorna true si la pila está vacía. | |
T | pop () throw (std::exception, std::underflow_error) |
Saca un elemento de la pila. | |
T | popn (const int &n) throw (std::exception, std::underflow_error) |
Saca n elementos de la pila. | |
T & | push (const T &data) throw (std::exception, std::overflow_error) |
Inserta en la pila una copia de data. | |
T & | pushn (const size_t &n=1) throw (std::exception, std::overflow_error) |
Empuja n espacios con valor indefinido en la pila. | |
const size_t & | size () const |
Retorna el número de elementos que contiene la pila. | |
T & | top (const int &i) throw (std::exception,std::underflow_error) |
Retorna una referencia al elemento situado i posiciones después del tope. | |
T & | top () throw (std::exception,std::underflow_error) |
retorna una referencia al elemento situado en el tope de la pila. |
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. | |
dim | la dimensión de arreglo interno. |
Definición en la línea 80 del archivo tpl_arrayStack.H.
T pop | ( | ) | throw (std::exception, std::underflow_error) [inline] |
Extrae el elemento situado en el tope de la pila.
underflow_error | si la pila está vacía |
Definición en la línea 135 del archivo tpl_arrayStack.H.
Referenciado por Aleph::inOrderStack(), Aleph::preOrderStack(), y Aleph::simple_preOrderStack().
T popn | ( | const int & | n | ) | throw (std::exception, std::underflow_error) [inline] |
popn(n) saca los n elementos a partir del tope.
La operación toma tiempo constante.
[in] | n | número de elementos a sacar. |
underflow_error | si la pila está vacía. |
Definición en la línea 151 del archivo tpl_arrayStack.H.
T& push | ( | const T & | data | ) | throw (std::exception, std::overflow_error) [inline] |
push(data) inserta en la pila una copia del valor de data.
[in] | data |
overflow_error | si la capacidad ya está llena. |
Definición en la línea 98 del archivo tpl_arrayStack.H.
Referenciado por Aleph::inOrderStack(), Aleph::preOrderStack(), y Aleph::simple_preOrderStack().
T& pushn | ( | const size_t & | n = 1 |
) | throw (std::exception, std::overflow_error) [inline] |
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. |
overflow_error | si la capacidad ya está llena. |
Definición en la línea 119 del archivo tpl_arrayStack.H.
T& top | ( | const int & | i | ) | throw (std::exception,std::underflow_error) [inline] |
top(i) accede al elemento de la pila situado i posiciones luego del tope.
[in] | i | número de posiciones después del tope. |
underflow_error | si i excede el número de elementos de la pila. |
Definición en la línea 180 del archivo tpl_arrayStack.H.