Java - Problema con pilas

   
Vista:

Problema con pilas

Publicado por Miguel (5 intervenciones) el 24/12/2009 10:07:36
Hola buenas, queria saber si utilizo pilas puedo trabajar con arrays, es decir, yo quiero meter en la pila una serie de arrays bidimensionales, el tema es que a la hora de imprimir alguno de ellos me da la direccion de memoria y no se que tengo que poner para recoger o mostrar el arrray en si:
int [][] tabla;
Stack Pila = new Stack();
tabla = new int [3][5];
if(Pila.empty())
System.out.println("la pila sta vacia");
for(int i=0;i<3;i++)
for(int j=0;j<5;j++)
tabla[i][j]=0;

Pila.push(tabla);
System.out.println("la pila tiene");
System.out.println(Pila.size()+" elementos");
System.out.println("el primero en salir es: ");
System.out.println(Pila.peek().toString());
*** Esto funciona con simples cadenas, quiero extraer el contenido del array ***

Muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con pilas

Publicado por jack (18 intervenciones) el 24/12/2009 14:45:48
hola Miguel
si puedes utilizar pilas y arrays, lo unico es que como metes los arrays en la pila no puedes acceder al contenido del array directamente primero tendrias que hacer el casting a un array y luego imprimir los valores desde este
aca te dejo un ejemplo solo tome tu codigo y lo complete

public class Main
{

static Stack Pila = new Stack();
static int [][] tabla =new int [3][5]; ;

public static void main(String[] args)
{
if(Pila.empty())
System.out.println("la pila sta vacia");
for(int i=0;i<3;i++)
//Arrays.fill(tabla[i],-5);
for(int j=0;j<5;j++)
tabla[i][j]=0;

Pila.push(tabla);
System.out.println("la pila tiene");
System.out.println(Pila.size()+" elementos");
System.out.println("el primero en salir es: ");
int temp [][]= (int[][]) Pila.peek();
for(int i=0;i<3;i++)
for(int j=0;j<5;j++)
System.out.println(temp[i][j]);

}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con pilas

Publicado por Miguel (5 intervenciones) el 28/12/2009 09:49:24
Muchas gracias por responder, tu respuesta casi funciona, no se si lo hago yo mal o que pero el caso es que el ultimo elemento me lo imprime bien pero el tema es que cuando hago un Pila.pop() y vuelvo hacer el metodo de quedarme con una copia del ultimo elemento de la pila me vuelve a dar el primer elemento que habia sacado, no entiendo muy bien porque pero es asi ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con pilas

Publicado por Miguel (5 intervenciones) el 28/12/2009 11:28:08
he probado en lugar de arrays cadenas(String) y si funciona pero con los arrays no. He hecho el mismo ejemplo con la clase Vectores y me pasa exactamente lo mismo, con cadenas me funciona añadir y luego ver alguno en concreto pero si son arrays lo que meto en la "lista" no se que pasa pero siempre se queda con el ultimo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con pilas

Publicado por Miguel (5 intervenciones) el 28/12/2009 11:34:54
Ultima hora ..... si por ejemplo quiero añadir dos arrays y estos se llaman tabla1 y tabla2 funciona pero si simplemente modifico tabla1 para meter por ejemplo todo ceros, añado, lo modifico y pongo todo 9 y añado parece ser que luego en el vector o la pila me da igual el caso se queda con el ultimo .... alguna solucion?¿?¿?¿ es que en mi caso voy a crear muchas tablas y como que .... crear una tabla nueva para añadir un elemento ..... muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar