Está en la página 1de 3

Pilas, ¿qué es?

La pila es una secuencia de elementos del mismo tipo en la que el acceso a la


misma se realiza por un único lugar denominado cima.
Es una estructura que nos permite apilar elementos y recopilarlos en el orden
inverso al cual los apilamos mediante operaciones de desapilar. Esto es lo que se
conoce como estructuras LIFO (Last In First Out). De esta manera una pila suele
tener 3 operaciones básicas:
apilar, añade un elemento a la lista.
desapilar, retira un elemento de la lista
¿está vacía?, comprueba si la lista está vacía.
Características:
-La única forma de acceder a los elementos es desde el tope de la pila.
-Su administración es muy sencilla ya que tiene pocas operaciones.
-Si la pila está vacía no tiene sentido referirse a un tope ni a un fondo.
-En caso de querer acceder a un elemento que nos e encuentre en el tope de la
pila se debe realizar un volcado de la pila a una pila auxiliar, una vez realizada la
operación con el elemento se vuelve a volcar los elementos de la pila auxiliar a la
original.
Operaciones básicas:
-apilar (valor): también conocido como push agrega el valor al tope de la pila.
-retirar (): también conocido como pop retira el último elemento apilado.
-cima (): devuelve el valor del elemento que está en la cima de la pila.
-esVacia (): retorna true si la pila no ha sido inicializada.
-buscar (valor): retorna la true si el elemento a buscar existe en la pila.
-eliminar(): elimina la pila
-listar (): imprime en pantalla los elementos de la pila.
Para implementar una pila se utiliza un arreglo de cierto tipo como base: Tipo
base [tamaño]; Tipo puede ser: int, doublé, char, cadenas, o una clase definida
por el usuario. Se usa un apuntador a la parte más alta de la pila, que se
denomina el tope.
Las declaraciones para implementar una pila en Java son: int tamaño=30; o
algún otro valor entero, tipo base [tamaño]; int tope = 0; indicando que la pila está
vacía.
El algoritmo para agregar datos a una pila es llamado push, su código es:
push(dato)
si tope = tamaño-1
_escribe “PILA LLENA”
else tope=tope+1
base[tope]=dato
fin.
Código Java para el algoritmo anterior es:
_public void Push (Tipo dato)
{if(tope==tamaño-1)
System.out.println(“PILA LLENA”);
_else {tope++; base [tope] = dato;}
}
Algoritmo para sacar cosas de la pila se llama pop () su código es:
tipo pop ()
si tope=0 escribe “PILA VACIA”
else valor=base[tope]
tope = tope -1
regresa valor
fin.
Código Java para la rutina anterior es:
_public Tipo Pop () // Tipo es el tipo del valor que se regresa
{if(tope==0)
System.out.println(“PILA VACIA”);
else {valor = base [tope];
Pilas en Java.
tope = tope -1
return(valor);
}
Una rutina de servicio que permite obtener una instantánea del estado actual de
la pila, es:
estado actual ()
if (tope=0) escribe “PILA VACÍA”
else {k=tope; while (k>0)
{escribe base[k];
k=k-1;}
}
Código Java para la rutina anterior es:
Public void estado actual ()
{if (tope==0)
System.out.println(“PILA VACÍA”);
else {int k = tope;
while (k>0)
{ System.out.println(base [k] );
k=k-1;}
}

Bibliografía
Acosta, B. (8 de Noviembre de 2015). Código Libre. Obtenido de Código Libre:
http://codigolibre.weebly.com/blog/pilas-en-java
Cuervo, V. (6 de Octubre de 2010). Línea de Código. Obtenido de Línea de Código:
http://lineadecodigo.com/java/crear-una-pila-en-
java/#:~:text=Una%20pila%20es%20una%20estructura,apilamos%20mediante%2
0operaciones%20de%20desapilar.&text=De%20esta%20manera%20una%20pila,
un%20elemento%20a%20la%20lista.
Roldán, Á. (22 de Mayo de 2018). Ciberaula . Obtenido de Ciberaula:
https://www.ciberaula.com/cursos/java/pilas_java.php

También podría gustarte