M E T O D O S P I L A S

Metodo_Principal.java (Metodo Principal)
JAVA:

import java.io.*;

public class Metodo_Principal{

//Declaramos el metodo principal
public static void main (
String args[])throws IOException {

BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
int Espacios = 0;
char Resp, op;
String aux;

//--- Imprimir Menu ---- \\

System.out.println("\n :: XROM RELOADED :: 19/07/07 \n");

System.out.print("\t Cuantos espacios quiere en la Pila (entre 3 y 30 recomendable)? :");
Espacios =
Integer.parseInt(entrada.readLine());

Pila Ejecutar = new Pila(Espacios);

System.out.println("\n\n\t --- //---- Menu Pila------\\\\---- \n");

do {

System.out.println("\n\n1.- Imprimir Pila"); // Mostrar
System.out.println("2.- Agregar Elemento a la pila"); // Push
System.out.println("3.- Quitar Elemento de la pila"); // Pop


System.out.print("\n\n Elija una Opcion : ");

aux = entrada.readLine();
op = aux.charAt(0);



//---- Elegir opcion ---\\

switch (op) {

case '1':

Ejecutar.Imprimir();

break;

case '2':


Ejecutar.Push();


break;

case '3':

Ejecutar.Pop();

break;


default:

System.out.println("opcion fuera de rango !!");



} // Fin del switch


System.out.print("Desea hacer otra operacion ?? S / N ");
aux = entrada.readLine();
Resp = aux.charAt(0);



} while (Resp == 'S' Resp == 's');

System.out.println(" Garcias por utilizar este programa.. ");
System.out.println("\t para mas informacion en :: WWW.XROMRELOADED.TK ::");


} // Fin del metodo main

} // Fin de la calse
Pila.java (Clase y Metodos)
JAVA:
// Libreria necesaria para introducir datos desde el Teclado
import java.io.*;

// Inicio de la Clase Pila
public class Pila {


//----- Atributos de la pila ------\\


public int Pila []; // Estructura de la pila

public int Top, Max , Elem; // variables para la pila

//Top : El Tope de la pila , referencia al ultimo elemento que esta en la pila
//Max : Maximo de espacios que tiene la pila
//Elem : Elemento que se agrega a la pila (Tecleado por el usuario)

public char Resp; // Variables para SubMenus.
public
String aux;


//----- Contructor -------\\


public Pila (int Espacios){ // se recibe como parametro los Espacios de la pila

Pila = new int [Espacios]; // Asignamos los espacios en la Pila
Max = Pila.length - 1;
Top = -1; // Top se declara como -1 como referencia a que no existen datos en la pila


} // fin del constructor


//----- Metodos de la pila -------\\


// Metodo Imprimir ------------------------------------------

public void Imprimir () {

for (int n = 0 ; n <= Max ; n++ ) {
System.out.println(n + ".- " + Pila [n]);


}

} //----------------------------------- Fin del Metodo Imprimir



// Metodo Push ---------------------------------------------


public void Push ( ) throws
IOException { // Metodo para ingresar datos ...

BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));

do {

// if (1)

if(Top != Max) { // Si la pila No esta llena ....

// Se puede agregar un nuevo dato a la pila ....

System.out.print("\t Ingrese un numero entero : ");
Elem =
Integer.parseInt(entrada.readLine());
Top ++; // Se incrementa Top como referencia de que se agrego un nuevo dato
Pila[Top] = Elem; // Se agrega el nuevo elemento a la pila

// if (1.1)

if (Top == Max) { // Si la pila quedo llena entoces ...

// Imprimir mensaje
System.out.print("\n La Pila a quedado llena !! ");

// con esta variable detenemos el bucle do - while
Resp = 'N';

} // Fin del if (1.1)



} else {

System.out.println("\n Pila llena !! Imposible introducir un valor a la pila");

Resp = 'N'; // detenemos el bucle


} // Fin del if (1)


// if (2)

if (Resp != 'N') {
// Si es diferente de No , entoces seguir preguntado si se desea introducir mas datos

System.out.print("Desea introducir un dato mas ??");

aux = entrada.readLine();
Resp = aux.charAt(0);

} // Fin del if (2)


} while (Resp == 'S' Resp == 's'); // Continuar ciclando simpre y cuando sea Resp = 's'

} //------------------------------------- Fin del Metodo Push



// Metodo Pop -----------------------------------------------

public void Pop () {

if(Top != -1) { // Si la pila no esta vacia entonces ....

System.out.println("Se borro el Dato : " + Pila[Top]);

// Eliminar dato

Pila[Top] = 0; // remplaza el valor por un cero (Eliminado)

Top --; // Top se reduce para decir que un elemento se borro

} else { // De lo contrario imprime .."que la pila esta vacia"

System.out.println("Pila Vacia... Imposible Eliminar");

} // fin del if

} //-------------------------------------- Fin del Metodo Pop

} // Fin de la Clase Pila

No hay comentarios:

Publicar un comentario