0% encontró este documento útil (0 votos)
104 vistas13 páginas

Concepto y uso de pilas en Java

Una pila es una estructura de datos donde los elementos sólo pueden ser agregados o removidos de un extremo, siguiendo el principio LIFO. Las operaciones comunes son insertar (push) para agregar elementos a la cima de la pila y quitar (pop) para removerlos. Las pilas se pueden implementar usando arreglos o listas enlazadas y se usan comúnmente en compiladores, sistemas operativos y otras aplicaciones.

Cargado por

Boris Miranda
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
104 vistas13 páginas

Concepto y uso de pilas en Java

Una pila es una estructura de datos donde los elementos sólo pueden ser agregados o removidos de un extremo, siguiendo el principio LIFO. Las operaciones comunes son insertar (push) para agregar elementos a la cima de la pila y quitar (pop) para removerlos. Las pilas se pueden implementar usando arreglos o listas enlazadas y se usan comúnmente en compiladores, sistemas operativos y otras aplicaciones.

Cargado por

Boris Miranda
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PILAS

CONCEPTO DE PILA

Una pila (stack) es una


coleccin ordenada de
elementos a los cuales
slo se puede acceder
por un nico lugar o
extremo de la pila.
Los elementos se aaden
o se quitan (borran) de la
pila slo por su parte
superior (cima).

Las pilas se conocen tambin como estructuras LIFO


(Last-in, first-out, ltimo en entrar primero en salir).
Las pilas se utilizan en compiladores, sistemas operativos
y programas de aplicaciones.
Una aplicacin interesante es la evaluacin de
expresiones aritmticas

Las entradas de la pila


deben ser eliminadas
en el orden inverso al
que se situaron en la
misma.

Las operaciones usuales en la pila son Insertar y Quitar.

La operacin Insertar La operacin Quitar


(push) aade un
(pop) elimina o saca un
elemento en la cima elemento de la pila.
de la pila.

La pila se puede implementar de las siguientes formas


Guardando los elementos en un array, en cuyo caso su
dimensin o longitud es fija.
Utilizar un vector para almacenar los elementos
Otra forma de implementacin consiste en construir una lista
enlazada.
De modo que cada elemento de la pila
forma un nodo de la lista.
La lista crece o decrece segn se aaden o
se extraen, respectivamente, elementos de
la pila; sta es una representacin dinmica,
y no existe limitacin en su tamao excepto
la memoria de la comutadora.

Una pila puede estar vaca (no tiene elementos) o llena (en la
representacin con un array arreglo, si se ha llegado al ltimo
elemento).
Si un programa intenta sacar un elemento de una pila vaca, se
producir un error, una excepcin, debido a que esa operacin es
imposible;
Por el contrario, si un programa intenta poner un elemento en
una pila llena, se produce un error, una excepcin, de
desbordamiento (overflow).

Para evitar estas situaciones se disean mtodos que


comprueban si la pila est llena o vaca.

PILA IMPLEMENTADA CON ARRAYS


Insertar (push)

Quitar (pop)

1. Verificar si la pila no est llena.


2. Incrementar en 1 el ndice de la pila.
3. Almacenar elemento en la posicin del ndice de la pila.
1. Verificar si la pila no est vaca.
2. Leer el elemento de la posicin del ndice de la pila.
3. Decrementar en 1 el puntero de la pila.

PILA IMPLEMENT ADO COMO UN A LISTA


ENLAZADA

Esta realizacin tiene la ventaja de que el tamao se ajusta


exactamente al nmero de elementos de la pila. Sin embargo, para
cada elemento es necesaria ms memoria ya que hay que guardar
el campo de enlace entre nodos consecutivos

PILA IMPLEMENT ADO COMO UN A LISTA


ENLAZADA
class NodoPila

class PilaLista
pilaVacia()

push(tipo elemento)
quitar()
cimaPila()
limpiarPila()

Stack
La clase Stack es una clase de las llamadas
de tipo LIFO (Last In - First Out, o
ltimo en entrar - primero en salir).
Las operaciones bsicas son :
push (que introduce un elemento en la pila).
pop (que saca un elemento de la pila).
peek (consulta el primer elemento de la cima de la pila).
empty (que comprueba si la pila est vaca)
search (que busca un determinado elemento dentro de la pila y devuelve
su posicin dentro de ella).

También podría gustarte