Está en la página 1de 11

Pilas

MC Mónica Ruiz Martínez


PILAS
• Una Pila es un contenedor de objetos que son
insertados y removidos de acuerdo con el
principio LIFO(Last In-First Out), último en
entrar, primero en salir. Los objetos pueden
ser insertados en la pila en cualquier
momento, pero solo el mas reciente (el
último) es el objeto que puede ser removido
en cualquier momento.
PILAS
• El nombre de pila se deriva de la metáfora de
una Pila de platos en un restaurant.
Operaciones Básicas
• Las operaciones básicas de una pila son
“push” (empujar, meter) y “pop” (sacar)
– Push: añade un nuevo elemento a la pila
– Pop: elimina un elemento de la pila
Operaciones adicionales
• Adicionalmente se definen los siguientes
métodos:
– Size(): Regresa el número de objetos en la pila.
– isEmpty(): Regresa un booleano indicando si la pila
esta vacía.
– Top(): Regresa el objeto que esta en el tope o en la
cima de la pila, sin removerlo.
Ejemplos de Aplicaciones con Pilas
• Navegador Web
– Se almacenan los sitios previamente visitados
– Cuando el usuario quiere regresar (presiona el botón de
retroceso), simplemente se extrae la última dirección
(pop) de la pila de sitios visitados.
• Editores de texto
– Los cambios efectuados se almacenan en una pila
– Usualmente implementada como arreglo
– Usuario puede deshacer los cambios mediante la
operación “undo”, la cual extrae el estado del texto antes
del último cambio realizado.
Pilas en Java
• En el lenguaje Java contamos con la clase
Stack en la librería java.util. Es importante
saber que la pila hereda de la pila (aca Vector).
Y que por lo tanto podemos utilizar los
elementos del Vector sobre la pila.
Definir la pila en Java
• Lo primero será definir la pila, es decir,
instanciar la clase Stack.

Stack<String> pila = new Stack<String>();

• Como vemos el tipo de elementos que


insertaremos en la pila serán String -cadenas-.
• Una vez instanciada vamos a ir creando los
elementos e insertándolos en la pila. El
método que inserta elementos en la pila es .
push(). Este método recibirá como parámetro
el elemento a insertar.
• for (int x=1;x<=10;x++)
• pila.push(Integer.toString(x));
• Una vez que tenemos todos los elementos,
procedemos al vaciado de la pila. Tendremos
que interactuar sobre la pila hasta que esta esté
vacía, cosa que nos dice el método .empty(). En
cada una de las iteraciones extraeremos un
elemento de la pila mediante el método .pop()
• while (!pila.empty())
• System.out.println(pila.pop());

También podría gustarte