Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/04/2011, 06:43
ivankiros
 
Fecha de Ingreso: abril-2011
Ubicación: barcelona
Mensajes: 15
Antigüedad: 13 años
Puntos: 0
Respuesta: Invertir pila en java

Muchas gracias napar . Es exactamente lo que necesitaba . Siceramente no se me da bien java. Ara e implementado tu parte del codigo pero no me acaba de funcionar . Te pego el codigo aber si me podrias decir donde fallo porque no me da errores Jcreator xo el resultado es null xD
El fallo imagino que tiene que estar en el metodo invierte ...

import java.util.*;

public class Apilar {

LinkedList pilar = new LinkedList();

public void apila(Object element)
{
pilar.addFirst(element);
}

public Object desapila()
{
return pilar.removeFirst();
}

public Object cim()
{
if(esbuida())
{
return null;
}
else
{
return pilar.getFirst();
}
}

public void inicia()
{
pilar.clear();
}


public boolean esbuida()
{
return (pilar.size()==0);
}

//METODO INVERTIR PILA
public Object invierte() {
Apilar pila2 = new Apilar();
while (!esbuida()){
pila2.apila(desapila());
}
return pila2;
}



public static void main(String[] args)
{
//CREAMOS PILA
Apilar Pila = new Apilar();
String elemento1="H";
String elemento2="O";
String elemento3="L";
String elemento4="A";

//METEMOS EN LA PILA
Pila.apila(elemento1);
Pila.apila(elemento2);
Pila.apila(elemento3);
Pila.apila(elemento4);

//MOSTRAMOS PILA ORIGINAL
System.out.println(" Pila 1 : "+ Pila.cim());
Pila.desapila();
System.out.println(" Pila 1 : "+ Pila.cim());
Pila.desapila();
System.out.println(" Pila 1 : "+ Pila.cim());
Pila.desapila();
System.out.println(" Pila 1 : "+ Pila.cim());

//CREAMOS PILA INVERTIDA
Apilar Pila2 = new Apilar();

//METEMOS EN LA PILA
Pila2.apila(elemento1);
Pila2.apila(elemento2);
Pila2.apila(elemento3);
Pila2.apila(elemento4);

//INVERTIMOS LA PILA
Pila2.invierte();

//MOSTRAMOS PILA INVERTIDA
System.out.println(" Pila 2 : "+ Pila2.cim());
Pila.desapila();
System.out.println(" Pila 2 : "+ Pila2.cim());
Pila.desapila();
System.out.println(" Pila 2 : "+ Pila2.cim());
Pila.desapila();
System.out.println(" Pila 2 : "+ Pila2.cim());



} //FIN MAIN
}//FIN CLASE



RESULTADO :

Pila 1 : A
Pila 1 : L
Pila 1 : O
Pila 1 : H
Pila 2 : null
Pila 2 : null
Pila 2 : null
Pila 2 : null