viernes, 2 de octubre de 2015

Una Pila en C#

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