Pilas y Colas

Iniciado por Shell Root, 1 Mayo 2011, 17:30 PM

0 Miembros y 1 Visitante están viendo este tema.

Shell Root

Pues ando consultado un poco lo de pilas y colas en Java y casi no entiendo, pero podrían darme un ejemplo.

Hasta lo que he leido, tiene 4 funciones: isEmpty(), add(), remove(), clear().
Ese código ya está preestablecido o lo puedo crear yo?
Solo son esas 4 funciones?
Obviamente se usan vectores o no?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Valkyr

Pues cola pila aquí tienes una implementada en Java

http://download.oracle.com/javase/6/docs/api/java/util/Stack.html

Tiene los métodos básicos, push y pop, y un constructor vacío. Es una clase genérica osea que puedes almacenar en ella lo que quieras, la forma de declararla sería
Código (javascript) [Seleccionar]
Stack<tipo>pila = new Stack()<tipo> donde tipo es el tipo de dato que vas a almacenar.

Por otro lado las colas también hay implementadas en Java y son varias, te dejo el enlace de la interfaz donde aparecen también todas las clases conocidas que la implementan.

http://download.oracle.com/javase/6/docs/api/java/util/Queue.html

Espero te sirva de ayuda.

Saludos.

ShotgunLogic

Pila: Es una estructura de tipo LIFO(last in first out, primero en entrar último en salir). Funciona como la pila de ensamblador, con push metes cosas y con pop las sacas.

Cola: Es una estructura de tipo FIFO(first in first out, primero en entrar primero en salir). Simplemente funciona como funcionaria una cola de un cine.

Lista: Metes los objetos donde te de la gana, como funcionaria un ArrayList.


Estas estructuras se pueden construir a partir de estructuras propias de Java(no hace falta ser un genio vamos). También hay otra de forma de construirlas que es con estructuras dinámicas. Con las estructuras dinámicas lo que haces es crear una Clase dentro de la Clase de la estructura que sirva para almacenar los objetos que almacenas y la referencia al siguiente objeto, tipo este dibujo:



De hecho creo que las estructuras propias de Java(como el ArrayList) por debajo estan hechas de esta manera. De todas formas tengo hechas estas estructuras dinámicas con tratamiento de errores y demás y las usas como si fuese una de java, por si tienes algun problema con ello.

Saludos!
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.