Estructura de Datos(Pilas)...Ejemplo

Publicado en por R05Y

Definición: Primero en Entrar, ultimo en Salir aqui les dejo un ejemplo sencillo de Pilas y espero y les sirva de algo
//Clase

import java.*;
import javax.swing.*;
public class Pila {
int p[];
int tam;
int tope;
    public Pila() {   } 

    public Pila(int t) {

     this.tam=t;

     p=new int [tam];
    } 

    public boolean Pila_Llena()

    {

     boolean ban=false;

     if(tope==p.length-1)

     {

     ban=true;

     }

     return ban;

    }

    public boolean Pila_Vacia()

    {

     boolean ban=false;

     if(tope==-1)

     {

     ban=true;

     }

     return ban;

    }

    public void llenar()

    {

     if(Pila_Vacia())

     {

     for(int i=0;i<p.length;i++)

     {

     p[i]=Integer.parseInt(JOptionPane.showInputDialog("Introduce dato"));

     tope++;

     }

     }

     else

     {

     for(int i=tope+1;i<p.length;i++)

     {

     p[i]=Integer.parseInt(JOptionPane.showInputDialog("Introduce dato"));

     tope++;

     }

     }

    }

    public void Insertar()

    {

     int dato;

     if(!Pila_Llena())

     {

     dato=Integer.parseInt(JOptionPane.showInputDialog("Introduce dato"));

     p[tope]=dato;

     }

     else

     JOptionPane.showMessageDialog(null,"Pila llena");

     }

    }

    public void Eliminar()

    {

     int dato;

     if(!Pila_Vacia())

     {

     JOptionPane.showMessageDialog(null,"El elemento a eliminar es: "+p[tope]);

     tope--;  

     }

     else

     JOptionPane.showMessageDialog(null,"Pila Vacia");

     }    

    }

    public String toString()

    {

     String cad="Contenido\n";

     for(int i=0;i<=tope;i++)

     {

     cad+=p[i]+", ";

     }

     return cad;

    }

}
//Aplicacion
 
import javax.swing.*;

import java.*;


public class AppPila 

{

public static void main (String[] args

{

int tam=Integer.parseInt(JOptionPane.showInputDialog("tamaño"));

         Pila p=new Pila(tam);

        

         for(;;)

         {

         byte opc=Byte.parseByte(JOptionPane.showInputDialog("Menu\n1.Insertar dato\n2.Eliminar dato\n3.Llenar Pila\n4.Ver Pila\n5.Salir"));

switch(opc)

{

case 1:

p.Insertar();

break;

case 2:

p.Eliminar();

break;

case 3:

p.llenar();

break;

case 4:

JOptionPane.showMessageDialog(null,""+p.toString());

break;

case 5:

System.exit(5);

}

         }

}

}

Etiquetado en Programacion

Comentar este post