Referencia de la plantilla de la Clase FixedStack
[Secuencias.]

Pila implantada con arreglos estáticos y sin verificación de número de elementos. Más...

Diagrama de herencias de FixedStack

Inheritance graph
[leyenda]

Lista de todos los miembros.

Métodos públicos

void empty ()
 Vacía todos los elementos de la pila.
 FixedStack ()
 Constructor.
bool is_empty () const
 Retorna true si la pila está vacía.
pop () throw (std::exception, std::underflow_error)
 Saca un elemento de la pila.
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.


Descripción detallada

template<typename T, const size_t dim = 100>
class Aleph::FixedStack< T, dim >

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.

Parámetros:
T tipo de elemento que alberga la pila. equivalente a la dimensión del arreglo.
Ver también:
ArrayStack DynListStack
Nota:
Si no se tiene la certitud de la correctitud, entonces úsese el tipo ArrayStack, que es ligeramente más lento, pero que realiza verificaciones de desborde positivo y negativo.

Definición en la línea 222 del archivo tpl_arrayStack.H.


Documentación de las funciones miembro

T pop (  )  throw (std::exception, std::underflow_error) [inline]

Extrae el elemento situado en el tope de la pila.

Devuelve:
copia del elemento sacado de la pila.

Definición en la línea 273 del archivo tpl_arrayStack.H.

Referenciado por Aleph::quicksort().

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.

Parámetros:
[in] n número de elementos a sacar.
Devuelve:
copia del último elemento eliminado.

Definición en la línea 289 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.

Parámetros:
[in] data 
Devuelve:
una referencia al dato recién insertado y contenido en la pila.

Definición en la línea 240 del archivo tpl_arrayStack.H.

Referenciado por Gen_Avl_Tree< AvlNode< Key >, Key, Compare >::Gen_Avl_Tree(), y Aleph::quicksort().

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.

Parámetros:
[in] n número de espacios a ser apartados.
Devuelve:
referencia al tope de la pila (el valor es indeterminado).

Definición en la línea 259 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.

Parámetros:
[in] i número de posiciones después del tope.
Devuelve:
una referencia al elemento situado i posiciones después del tope.

Definición en la línea 315 del archivo tpl_arrayStack.H.


La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro R. León