Lejos de usar el objeto predefinido <STACK> de C#, aquí presento la codificación de clase de una Pila en base al algoritmos del libro de Estructura de Datos de Cairo.
class Pila{
//------------atributos de la pila
public String PILA;
public int TOPE;
public bool BANDERA;
public int MAX;
//--------------------------------
public Pila(){
}
public void Pila(int max){
this.MAX = max;
this.TOPE = 0;
this.BANDERA = false;
}//fin constructor
public void Pila_vacia( ){
if(this.TOPE == 0)
this.BANDERA = true;
else
this.BANDERA = false;
}//fin pila vacia
private void Pila_Llena( ){
if(this.TOPE == this.MAX)
this.BANDERA = true;
else
this.BANDERA = false;
} //fin de pila llena
public void Pone(char dato){
this.Pila_Llena();
if(this.BANDERA)
Console.WriteLine("Desbordamiento de Pila-Pila llena!");
else{
this.PILA[this.TOPE] = dato;
this.TOPE++;//5
}
}//fin de Pone
public void Quita(int dato){
this.Pila_vacia();
if(this.BANDERA)
Console.Writeline("Subdesbordamiento-Pila Vacía");
else{
dato = this.PILA[TOPE];
this.TOPE--;
}
}//fin de quita
}//fin de la clase
No hay comentarios:
Publicar un comentario