miércoles, 9 de abril de 2014

Trabajos con Pilas

/**
 * @(#)Pilas.java
 *
 *
 * @author Ricardo Camacho Lamas
 * @version 1.00 2014/4/7
 */
      // Programa para trabajar con Pilas

import java.util.Scanner;

public class Pilas {
     
    /**
     * Creates a new instance of <code>Pilas</code>.
     */
    public Pilas() {
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

    // declaramos las variables requeridas
  
    int n, opcion, cima=0;
   
    int [] pila;
   
    Scanner ent=new Scanner (System.in);
 
            // TODO code application logic here

            // solicitamos en pantalla el tamaño de la pila
         
        System.out.println("Ingrese el tamaño de la Pila");
        n=ent.nextInt();
        pila=new int[n];  
     
             // solicitamos en pantalla el numero de opcion a realizar

        do {        
        System.out.println("Programa para trabajos en Pilas");
        System.out.println("__________________________________");
        System.out.println("     1.- (Push) Ingresar dato ");
        System.out.println("     2.- (Pop)  Retirar Dato  ");
        System.out.println("     3.- Presentar Pila       ");
        System.out.println("     4.- Limpiar   Pila       ");
        System.out.println("     5.- Salir                ");
        System.out.println("__________________________________");
     
        opcion=ent.nextInt();
           
                 // mediante un switch hacemos la tarea solicitada

        switch(opcion)
     
        {
        case 1: cima=push(pila,cima);  // colocamos un valor en la pila
        break;
        case 2: cima=pop(pila,cima);   // quitamos un valor de la pila
        break;
        case 3: presentar(pila,cima);         // presentamos los valores de la pila
        break;
        case 4: cima=0;                            // borramos en contenido de la pila
        break;
        case 5: break;
       
        default:
          System.out.println("Opcion equivocada");
        }
     
    } while (opcion!=5);
  }
 // metodo para ingresar datos en pila

 

   public static int push(int[]p, int c)
 
  { Scanner ent=new Scanner(System.in);
if (c <p.length)
{
c++;
System.out.println("Ingrese elemento "+c+":");
p[c-1]=ent.nextInt();
}
else
{
System.out.println("¡¡¡ PILA LLENA");
System.out.println("elimina elemento..");
}
return c;
 }
 // metodo para quitar datos de la pila

     
    public static int pop(int[]p, int c)
      {
  if (c!=0)
  {
  System.out.println("Se elimino el elemento"+c+"= "+p[c-1]);
c--;
             }
  else
  {
  System.out.println("¡¡¡ PILA SIN DATOS");
  }
  return c;
  }
 // metodo para presentar los datos de la pila

   
          public static void  presentar(int[]p, int c)
       {
  if (c!=0)
 
  { System.out.println("Mostrando datos de pila");
 
            for(int i=c-1; i>=0; i--)
  {
  System.out.println("Elemento "+i+":"+p[i]);
  }
 
  }
  else
  {
  System.out.println("PILA VACIA ");
  }
 
  }
  }

No hay comentarios.:

Publicar un comentario