package EP_1_Juan;
public class EP_1_Juan {
public static void main(String[] args) {
// TODO code application logic here
// TODO code application logic here
// se crea la Pila llamada pilatextojuan1
pilatextojuan pilatextojuan1 = new PilaTextoJuan(20);
// se lista el contenido de pilatextojuan1
System.out.println("CONTENIDO DE LA PILA AL INICIO");
pilatextojuan1.listar();
// apilamos 4 datos
pilatextojuan1.push('D');
pilatextojuan1.push('G');
pilatextojuan1.push('H');
pilatextojuan1.push('M');
System.out.println("CONTENIDO DE LA PILA DESPUES DE APILAR 5DATOS");
pilatextojuan1.listar();
pilatextojuan1.pop();
System.out.println("CONTENIDO DE LA PILA DESPUES DE DESAPILAR LOS 5 DATO");
pilatextojuan1.listar();
}
}
package ep_1_juan;
/**
*
* @author Intel
*/
public class PilaTextoJuan { //implementamos el tda pila
// nuestros atributos a declarar
int capacidad = 20;
char dato[] = new char[capacidad];
int cima = -1;
public PilaTextoJuan(int capacidad) { // Es nuestro contructor
this.capacidad = capacidad;
this.cima = -1;
}
// métodos, se implementan las OPERACIONES DEL TDA
public int size() { // Devuelve el tamaño de la pila
return (cima + 1);
} // fin de size
public boolean estaVacia() { // devuelve true si la pila está vacía
return (cima < 0);
// if (cima>=0) return false;
// else return true;
} // fin de estaVacia
@SuppressWarnings("ValueOfIncrementOrDecrementUsed")
public void push(char car) { // Push poner un nuevo elemento en la pila
//System.out.println("size "+size());
if (size() == capacidad) {
System.out.println("Pila llena, no se almacenó el dato");
} else {
//cima++;
// dato[cima] 0 car;
dato[++cima] = car;
System.out.println("Se apilo el dato ... " + car);
}
} // fin de push
public int pop() {// Pop extrae el elemento de la cima siempre que tenga datos
int elem = 0;
if (estaVacia()) //throw new StackEmptyException(“Pila vacia.”);
{
System.out.println("Pila vacía, no se puede desapilar nada)");
}
else {
elem = dato[cima];
cima--; // se disminuye el valor de cima
}
return elem;
} // fin de pop
public int tope () {// Devuelve el elemento de la cima sin desapilar siempre que tenga datos
int elem = 0;
if (estaVacia()) //throw new StackEmptyException(“Pila vacia.”);
{
System.out.println("Pila vacía, no se puede desapilar nada)");
}
else {
elem = dato[cima];
}
return elem;
} // fin cima
public void listar() {
if (estaVacia()) {
System.out.println("PILA SIN DATOS");
} else {
for (int x = cima; x >= 0; x--) {
System.out.println(dato[x]);
}
}
} // fin de listar