Tecnologia
Enviado por kashfree • 21 de Febrero de 2013 • 763 Palabras (4 Páginas) • 256 Visitas
Otro ejemplo natural de la aplicación de la estructura pila aparece durante la ejecución de un programa de ordenador, en la forma en que la máquina procesa las llamadas a los procedimientos.
Cada llamada a un procedimiento (o función) hace que el sistema almacene toda la información asociada con ese procedimiento (parámetros, variables, constantes, direción de retorno, etc...) de forma independiente a otros procedimientos y permitiendo que unos procedimientos puedan invocar a otros distintos (o a si mismos) y que toda esa información almacenada pueda ser recuperada convenientemente cuando corresponda. Como en un procesador sólo se puede estar ejecutando un procedimiento, esto quiere decir que sólo es necesario que sean accesibles los datos de un procedimiento (el último activado, el que está en la cima). De ahí que una estructura muy apropiada para este fin sea la estructura pila.
Como ya vimos con las estructuras de ejemplo del tema anterior, asociadas con la estructura pila existen una serie de operaciones necesarias para su manipulación. Éstas son:
Iniciación de la estructura:
- Crear la pila (CrearPila): La operación de creación de la pila inicia la pila como vacía.
Operaciones para añadir y eliminar información:
- Añadir elementos en la cima (Apilar): pondrá un nuevo elemento en la parte superior de la pila.
- Eliminar elementos de la cima (Desapilar): lo que hará será devolver el elemento superior de la cima y eliminarlo de la pila.
Operaciones para comprobar tanto la información contenida en la pila, como el propio estado de la cima:
- Comprobar si la pila está vacía (PilaVacia): Esta operación es necesaria para poder decidir si es posible eliminar elementos de la pila.
- Acceder al elemento situado en la cima (CimaPila): Nos indica el valor del elemento situado en la parte superior de la pila.
La especificación correcta de todas estas operaciones permitirá definir adecuadamente una pila.
Una declaración más formal de las operaciones definidas sobre la estructura de datos pila, y los axiomas que las relacionan pordrían ser las siguientes:
Representación de las Pilas en C++ con clases
Los lenguajes de programación de alto nivel no suelen disponer de un tipo de datos pila. Aunque, por el contrario, en lenguajes de bajo nivel (ensambladores) es posible manipular directamente alguna estructura pila propia del sistema. Por lo tanto, en general, es necesario representar la estructura pila a partir de otros tipos de datos existentes en el lenguaje.
En C++, lo primero que nos plantearemos serán los métodos a través de los que podremos acceder a la información contenida en la estructura.
Las operaciones van a ser básicamente las que hemos definido en el tipo abstracto de datos, pero ahora habrá que decidir la implementación
...