Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Shell Root en 1 Mayo 2011, 17:30 pm



Título: Pilas y Colas
Publicado por: Shell Root en 1 Mayo 2011, 17:30 pm
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?


Título: Re: Pilas y Colas
Publicado por: Valkyr en 1 Mayo 2011, 17:51 pm
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
  1. 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.


Título: Re: Pilas y Colas
Publicado por: ShotgunLogic en 13 Mayo 2011, 22:35 pm
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:

(http://www.csharpya.com.ar/imagentema/foto111.jpg)

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!