Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado TOPE.
Se dice que la pila maneja una estructura Lifo (Last input, First Output). Ultimo en entrar, primero en salir. Así el último elemento que entra a la pila es el primero que se saca.
Además del tope la pila tiene un MAXIMO, que representa el tamaño de la pila y es estático e inviolable.
Las pilas no tienen una estructura definida, a razón de esto se tiene un vector como pila o una lista ligada como pila. Mas que todo la pila es una filosofía aplicada a una estructura de datos.
PILAS
Ejemplos de pila:
PILAS
Pila
- pila: arreglo objeto- Tope: entero- Maximo: entero
+ Apilar()+ Desapilar()+ PilaVacia()+ PilaLlena()
En la clase Pila se tienen los atributos:• Pila : Nombre del vector que sirve para representar la estructura.• Tope: Posición en el vector que indica donde esta el último elemento de
la pila.• Máximo: Tamaño del vector o máximo número de elementos de la pila.
Los Estados de una pila son:• Pila llena • Pila con algunos elementos • Pila vacía
Las operaciones que se realizan con las pilas son:• Apilar, insertar, push (poner un elemento en la pila ). • Desapilar, quitar, eliminar, pop (sacar un elemento de la pila).
PILAS
PILAS
Los estados de la pila representados con el tope se ven en la figura, partiendo de que TOPE, es la posición donde se encuentra el último elemento de la pila, en el primer vector el TOPE es: 3, la pila se encuentra en el máximo que significa que esta llena (en este caso se encuentra en max-1, por el indexado en 0); en el segundo es : 1; en el tercero es : -1 porque la pila esta vacía (condiciones iniciales).
Clase Pila //atributos propios y privados pila [] es Objeto // Estructura de la pila Tope, Maximo es entero // variables para la pila
//Constructor vacío Método Pila() fin del método Pila constructor
// Constructor que recibe como parámetro el máximo de la pila
Método Pila (entero N) Maximo = N // Se determina la capacidad máxima de la pila pila = nuevo objeto [N] // Asignamos los espacios en la Pila tipo
objeto Tope = -1 // Tope se declara como -1 como referencia a que no existen datos en la pila fin del método Pila constructor
PILAS
Método lógico PilaVacia()Si (Tope= -1) Imprimir ".... Pila vacía ....<< SUBDESBORDAMIENTO >>" retorne Verdaderosino retorne falsoFin SiFin Método pilaVacia
Publico lógico PilaLLena()Si (Tope=Maximo-1) Imprimir ".... Pila llena ...<< DESBORDAMIENTO >>" retorne Verdaderosino retorne falso Fin SiFin Método pilaLLena
PILAS
//Metodo para Apilar o ingresar elementos en la PilaMétodo Apilar(dato es objeto) si (PilaLlena()=falso) Tope= Tope +1 pila[Tope] = dato fin sifin de apilar //Metodo para Desapilar o retirar elementos de la pila
Metodo Objeto Desapilar() dato = "" es Objeto si (PilaVacia()=falso) dato = pila[Tope] Tope=Tope-1 fin si retornar dato fin de desapilarFin clase pila
PILAS
Top Related