Programación pilas
Las pilas son una estructura de datos que almacenan un conjunto de valores y el que las
operaciones de adición (agregación) y eliminación de elementos se efectúan siempre por
el mismo extremo de la estructura, que en consecuencia causa que los primeros
elementos en ser ingresados son los últimos en ser eliminados, y por su puesto que los
últimos elementos en ser añadidos serán losprimeros en ser eliminados. Debido a este
comportamiento a las pilas también se les conoce como listas LIFO (Last In, First Out)
ultimo en entrar primero en salir, o FILO (Fisrt In, Last Out) primero en entrar ultimo en
salir.
Tome en cuenta como ejemplo una pila de libros en la que un nuevo libro se pone encima
de los otros y si usted va a quitar un libro de la pila procura retirar el que estamas arriba,
que corresponde al ultimo que puso en la pila de libros.
La estructura de datos pila no tiene un medio propio para almacenar los datos o
elementos que la componen, por lo que dependen de otras estructuras para guardar sus
datos. El mecanismo seguido para almacenar la información contenida en una pila se
conoce como proceso de implantación de la pila. Para ello normalmente empleamosarreglos o listas enlazadas simples, con la novedad que la pila le da un tratamiento
especial a las operaciones de inserción y eliminación de datos en el arreglo o la lista
según sea el caso, de manera que dichas operaciones se efectúan por un mismo extremo
de la estructura con la que se ha implantado la pila.
La característica principal de una pila se le llama Tope o Cima y hace referenciaal
extremo por el cual se efectúan las operaciones de inserción y eliminación de elementos.
El valor o elemento del tope además representa al elemento que se ha de eliminar en la
siguiente operación de eliminación. La segunda característica de una pila es el tamaño,
que determina la cantidad de elementos máximo que la estructura puede contener en un
momento dado.
De acuerdo a la cantidadactual de elementos contenidos en una pila, esta puede estar
vacía si no contiene elementos, llena si el número de elementos almacenados es igual al
tamaño máximo y claro esta un estado intermedio que no es ni vacía ni llena y que no es
de mayor importancia. En cuanto a las operaciones más comunes que una pila debe
realizar tenemos:
•
•
•
Agregación de nuevos elementos (Encima del tope).Eliminación de elementos (Elemento del tope).
Consulta del elemento del tope.
El estado actual de la pila determina la posibilidad de efectuar alguna de estas
operaciones. Así para agregar un nuevo elemento, la pila no debe estar llena y para
eliminar o consultar el valor del tope la pila no puede estar vacía. Sin importar el
mecanismo de implantación de la pila, solo se da acceso alelemento del tope, de modo
que por fuera de la estructura no hay acceso a los demás elementos de la pila.
La implementación de las operaciones de una pila varían en función de la estructura
escogida para implantarla (ya sean arreglos o listas), pues el modo de representar el tope
y el tamaño de la estructura es diferente en ambos casos, siendo distinta también la
codificación de las operaciones deagregación y eliminación de elementos.
Para la implantación con arreglos tenemos que el tope se representa con un número
entero que indica la posición en el arreglo del elemento que esta en la parte superior de la
pila, siendo esta posición el extremo por el cual se hacen las operaciones de agregación y
eliminación de elementos.
El tipo de datos representado por una pila esta definido porel tipo de datos con el que se
declara el arreglo que se usa para implantarla, siendo el tamaño de la pila el mismo
establecido para el arreglo. Para una pila se espera que el tamaño de la estructura no
varié en tiempo de ejecución, aun cuando el arreglo sea dinámico y permita cambiar su
tamaño.
El tope para la pila puede ser el extremo izquierdo o derecho del arreglo. A continuación...
Regístrate para leer el documento completo.