La
definición de una estructura de datos queda completa al incluir las operaciones
que se pueden realizar en ella. Para el caso de las pilas, las operaciones
básicas que se pueden. Llevar a cabo son:
* Insertar
un elemento (Push) en la pila
* Eliminar
un elemento (Pop) de la pila
Y las
operaciones auxiliares:
* Pila vacía
* Pila llena
3.1.3.1 Pila Vacía.
Es una
operación auxiliar para verificar que si una PILA esta vacía para poder
insertar un nuevo elemento.
Este
algoritmo verifica si una estructura tipo pila está vacía, asignando a BAND el
valor de verdad correspondiente. La pila se implementa en un arreglo
unidimensional. TOPE es un parámetro de tipo entero. BAND es un parámetro de
tipo booleano
Pila_vacía (PILA, TOPE,
BAND)
Si (TOPE = 0) (Verifica
si no hay elementos almacenados en la pila)
Entonces
Hacer BAND
VERDADERO (La pila está vacía)
Si no
Hacer BAND FALSO (La
pila no está vacía)
Fin Si
3.1.3.2 Pila Llena
Es una
operación auxiliar para validar que una pila no se encuentre llena antes de
insertar un valor y/o para validar que no se dé el error de desbordamiento.
Este
algoritmo verifica si una estructura tipo pila está llena, asignando a BAND el
valor de verdad correspondiente. La pila se implementa en un arreglo
unidimensional de MAX elementos. TOPE es un parámetro de tipo entero. BAND es
un parámetro de tipo booleano.
Pila_llena (PILA, TOPE,
MAX, BAND)
Si (TOPE = MAX)
Entonces
Hacer BAND VERDADERO (La pila está llena)
Si no
Hacer BAND FALSO (La pila no está llena)
Fin Si
3.1.3.3 Poner elemento (Push)
Este
algoritmo agrega el elemento DATO en una estructura tipo – Pila –, y si la
misma no está llena. Actualiza el valor TOPE. MAX representa el número máximo
de elementos que puede alcanzar PILA. TOPE es un parámetro de tipo entero
Push (PILA, TOPE, MAX,
DATO)
Llamar a Pila_llena
(PILA, TOPE, MAX, BAND)
Si (BAND
VERDADERO)
Entonces
Escribir “Desbordamiento – Pila Llena”
Si no
Hacer TOPE <- TOPE + 1 y PILA [TOPE] DATO
(Actualiza TOPE e inserta el nuevo elemento en el TOPE de PILA)
Fin Si
3.1.3.3 Quitar elemento (Pop)
Este
algoritmo saca un elemento – Dato – de una estructura tipo pila – PILA –, si
ésta no se encuentra vacía. El elemento que se elimina es que se encuentra en
la posición indicada por TOPE
Llamar a Pila_vacía (PILA, TOPE, BAND)
Si (BAND
VERDADERO)
Entonces
Escribir “Subdesbordamiento – Pila vacía”
Si no
Hacer DATO PILA [TOPE] y TOPE -1 (Actualización de TOPE)
Fin Si
3.1.4 Aplicaciones de PILAS.
Las pilas son
unas EDs muy usadas en la solución de diversos tipos de problemas, en el área
de computación, algunos de los casos más representativos son:
Ø
Llamadas
a Sub-Programas
Ø
Recursividad
Ø
Tratamiento
de Expresiones aritméticas
Ø
Ordenación.
3.1.5 La Clase PILA.
Demostración
de la clase Pila, con sus respectivos atributos y clases.
Fig. 3.2
VideoEjemplo de pilas en C:
Más información para descargar: