Como
hemos vistoen los temas anteriores, hemos visto caso de estructuras lineales
(eje: Arreglos), es decir que cada
componente tiene un sucesor y un predecesor. Cabe señalar pues que existen
estructuras que por naturaleza requieren que se ingresen o eliminen elementos
solo por un extremo. A continuación estudiaremos estructuras de datos lineales,
que ayudan con el objetivo de eliminar o insertar por un extremo, tales
estructuras son: Pilas y Colas.
3.1 PILAS
3.1.1 Definición de Pilas.
Es
una estructura lineal que solo tiene 2 operaciones, Push (Inserción) y Pop
(Eliminación) la cual solo se puede efectuar por un extremo llamado Top. Sin
Embargo se le pueden aplicar todas las operaciones al igual que a las listas.
En consecuencia, los elementos de una lista se eliminan en orden inverso en el
que se insertan; es decir, el último elemento que se mete en la pila es el
primero que se saca. Debido a esta última característica se le conoce como
estructura LIFO (Last-Input, First Output).
Fig. 3.1
Apilar (push) = Colocar un elemento en
la pila
Desapilar (pop) = Retirar un elemento
de la pila.
3.1.2 Representación de Pilas
Las
pilas no son estructuras fundamentales de datos; es decir, no están definidas
como tales en los lenguajes de programación. Para su representación requieren
el uso de otras estructuras de datos, como:
* Arreglos
* Listas
En el caso más
común podemos utilizar arreglo para la presentación de PILAS, pero en
consecuencia es necesario definir variables, una variable para definir un valor
máximo de la PILA, nombrada: Max y
una variable auxiliar a la que se denomine: Tope, que se utiliza para indicar el último elemento que se insertó
en la PILA.
Al
utilizar arreglos para implementar pilas se tiene la limitación de que se debe
reservar espacio de memoria con anticipación, característica propia de los
arreglos. Una vez dado un máximo de capacidad a la pila no es posible insertar
un número de elementos mayor al máximo establecido.
Si la pila
estuviera llena y se intentara insertar un nuevo elemento, se producirá un
error conocido como desbordamiento overflow
o Desbordamiento.
Otro error
que se puede presentar al trabajar con PILAS es tratar de eliminar un elemento
de una pila vacía, ha dicho error se le conoce como: underflown Subdesbordamiento.
Mas información: