TAD: Pilas en Java

/* Manejo de Pilas estáticas y dinámicas en Java: el interfaz se supone ya dado y listo para usarlo. */

package pilas;

/*
 * @author RLR
 */
public class Pilas {

   
    public static void main(String[] args) throws PilaException 
    {
        
        // PILAS ESTÁTICAS
        //CREACION DE PILA
        System.out.println("PILAS ESTATICAS: ");
        PilaEstatica<String> pilaNames = new PilaEstatica<>();        
        System.out.println("Pila vacia?: " + pilaNames.esVacia());
        
        //INTRODUCIMOS DATO EN PILA
        pilaNames.apilar("Ricardo");        
        System.out.println("Introducimos dato: " + pilaNames.verCima());
        System.out.println("Pila vacia?: " + pilaNames.esVacia());        
        System.out.println("Pila entera: " + pilaNames.toString());
        
        //INTRODUCIMOS OTRO DATO EN PILA
        pilaNames.apilar("Juana"); 
        System.out.println("Introducimos dato: " + pilaNames.verCima());
        System.out.println("Pila vacia?: " + pilaNames.esVacia());       
        System.out.println("Pila entera: " + pilaNames.toString());
        
        //INTRODUCIMOS-SACAMOS OTRO DATO EN PILA
        pilaNames.apilar("Saturnino");     
        System.out.println("Introducimos dato: " + pilaNames.verCima());
        System.out.println("Pila vacia?: " + pilaNames.esVacia());     
        System.out.println("Pila entera: " + pilaNames.toString());
        System.out.println("Sacamos dato: " + pilaNames.desapilar());
        System.out.println("Pila entera: " + pilaNames.toString());
        pilaNames.apilar("Saturnina");  
        System.out.println("Introducimos dato: " + pilaNames.verCima());
        System.out.println("Pila entera: " + pilaNames.toString());
        
        //INVERTIMOS PILA        
        PilaEstatica<String> pilaNames1 = pilaNames.invertir();
        System.out.println("Pila vacia?: " + pilaNames1.esVacia());
        System.out.println("Pila entera: " + pilaNames1.toString());
        System.out.println("Sacamos dato: " + pilaNames1.desapilar());
        System.out.println("Pila entera: " + pilaNames1.toString());
        
        // LANZAR UNA EXCEPCION: VACIAMOS LA PILA E INTENTAMOS SACAR DATO
        System.out.println("Sacamos dato: " + pilaNames1.desapilar());
        System.out.println("Pila entera: " + pilaNames1.toString());
        System.out.println("Sacamos dato: " + pilaNames1.desapilar());
        System.out.println("Pila entera: " + pilaNames1.toString());
        System.out.println("Pila vacia?: " + pilaNames1.esVacia());
        try
        {
        System.out.println("Sacamos dato: " + pilaNames1.desapilar());
        }
        catch(PilaException e)
        {
            System.out.println("ERROR: " +  e.getMessage());
        }
        pilaNames1.apilar("Remigio");     
        System.out.println("Introducimos dato: " + pilaNames1.verCima());
        System.out.println("Pila vacia?: " + pilaNames1.esVacia());     
        System.out.println("Pila entera: " + pilaNames1.toString());
        
        /*********************/
        // PILAS DINÁMICAS
        //CREACION DE PILA
        System.out.println("PILAS DINAMICAS: ");
        PilaDinamica<Integer> pilaJames = new PilaDinamica<>();        
        System.out.println("Pila vacia?: " + pilaJames.esVacia());
        
         //INTRODUCIMOS DATO EN PILA
        pilaJames.apilar(5);        
        System.out.println("Introducimos dato: " + pilaJames.verCima());
        System.out.println("Pila vacia?: " + pilaJames.esVacia());        
        System.out.println("Pila entera: " + pilaJames.toString());
        
        //INTRODUCIMOS OTRO DATO EN PILA
        pilaJames.apilar(7); 
        System.out.println("Introducimos dato: " + pilaJames.verCima());
        System.out.println("Pila vacia?: " + pilaJames.esVacia());       
        System.out.println("Pila entera: " + pilaJames.toString());
        
        //INTRODUCIMOS-SACAMOS OTRO DATO EN PILA
        pilaJames.apilar(9);     
        System.out.println("Introducimos dato: " + pilaJames.verCima());
        System.out.println("Pila vacia?: " + pilaJames.esVacia());     
        System.out.println("Pila entera: " + pilaJames.toString());
        System.out.println("Sacamos dato: " + pilaJames.desapilar());
        System.out.println("Pila entera: " + pilaJames.toString());
        pilaJames.apilar(11);  
        System.out.println("Introducimos dato: " + pilaJames.verCima());
        System.out.println("Pila entera: " + pilaJames.toString());
                                                
        //INVERTIMOS PILA        
        PilaDinamica<Integer> pilaJames1 = pilaJames.invertir();
        System.out.println("Pila vacia?: " + pilaJames1.esVacia());
        System.out.println("Pila entera: " + pilaJames1.toString());
        System.out.println("Sacamos dato: " + pilaJames1.desapilar());
        System.out.println("Pila entera: " + pilaJames1.toString());
        
        // LANZAR UNA EXCEPCION: VACIAMOS LA PILA E INTENTAMOS SACAR DATO
        System.out.println("Sacamos dato: " + pilaJames1.desapilar());
        System.out.println("Pila entera: " + pilaJames1.toString());
        System.out.println("Sacamos dato: " + pilaJames1.desapilar());
        System.out.println("Pila entera: " + pilaJames1.toString());
        System.out.println("Pila vacia?: " + pilaJames1.esVacia());
        try
        {
        System.out.println("Sacamos dato: " + pilaJames1.desapilar());
        }
        catch(PilaException e)
        {
            System.out.println("ERROR: " +  e.getMessage());
        }
        pilaJames1.apilar(6);     
        System.out.println("Introducimos dato: " + pilaJames1.verCima());
        System.out.println("Pila vacia?: " + pilaJames1.esVacia());     
        System.out.println("Pila entera: " + pilaJames1.toString());                        
        
    }
    
}
Esta entrada fue publicada en Ciencia y programación. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s