Pilas

3

Click here to load reader

description

Descripcion del tema

Transcript of Pilas

Page 1: Pilas

Pilas

Una Pila en palabras sencillas es un lugar donde se almacenan datos, al igual que en un Array, pero una

Pila tiene una filosofía de entrada y salida de datos, esta filosofía es la LIFO (Last In First Out, en

español, ultimo en entrar, primero en salir). Esta estructura de datos tiene muchas aplicaciones debido a

su simplicidad.

Ahora vamos a implementar esta estructura en lenguaje de programación Java, aunque debemos tomar

en cuenta que esta clase Pila ya existe en el API de Java, con el nombreStack (Pila en ingles) en el

paquete java.util pero de esta clase hablamos en otro Post. Ahora implementemos desde cero, que

nos ayudara a entender su funcionamiento y además porque nos lo piden en materias de estructura de

datos. La versión que veremos esta muy bien estructurada y con tipo de datos primitivos, por eso

utilizaremos un Array para almacenar los datos asiéndolo así no dinámica (porque no la dimensión de

un vector la declaramos en cuando se la crea, es de dimisión fija).

Gráficamente a una pila la representamos así:

Esta pila tiene 4 elementos, para la implementación de la clase haremos uso una variable entera tope que

se encargara de decirnos en que posición del Array esta el elemento de la cima, en este

caso tope=3 porque en el Array donde ingresamos los datos desde la posición 0, entonces los

atributos son:

?

1

2

3

private final int MAXIMO = 100; private int[] V; private int tope;

El atributo MAXIMO podemos poner un numero grande considerando la cantidad aproximada que

deseemos almacenar.

Los métodos principales de una Pila son:

esVacia() retorna verdad o falso si la Pila

esta vacía, es decir que no tiene

ningún elemento, retorna

unboolean.

Page 2: Pilas

apilar(int a) adiciona el elemento a en la

Pila.

desapilar() elimina el elemento de la cima

de la pila.

vaciar(Pila B) vacía todo el contenido de la

Pila B en la Pila, dejando a B

vacía.

tamanio() retorna cuantos elementos

tenemos en la Pila.

cima() retorna el elemento de la cima

sin eliminarlo de la Pila.

mostrar() muestra todos los elementos de

la Pila en modo Consola.

Siguiendo la filosofía se adicionar elementos apilando uno debajo de otro.

Para eliminar un elemento, se extrae o desapila un elemento por la cima.

Page 3: Pilas

Otro método que necesita explicación es el método vaciar, un método muy útil que también utilizamos

para mostrar la Pila es el vaciar.

Luego la Pila principal queda vacía y la pila B queda así:

Ahora pueden descargarse el todo el código fuente, totalmente funcional, por el momento publico la

versión para números enteros, luego verán una pila genérica que almacena todo tipo de objetos.