public Pila()
 {
     // Instanciamos el ancla
     ancla = new Nodito();
     // Como es un stack vacio, su siguiente es null
     ancla.Sig = null;
 }
        // Push
        public void Push(char valor)
        {
            // Creamos el Nodito temporal
            Nodito temp = new Nodito();

            temp.Dato = valor;
            // Conectamos el temporal a la lista
            temp.Sig = ancla.Sig;
            // Conectamos el ancla al temporal
            ancla.Sig = temp;
        }
 // Transversa
 public void Transversa()
 {
     // Trabajo al inicio
     trabajo = ancla;
     // Recorremos hasta encontrar el final
     while (trabajo.Sig != null)
     {
         // Avanzamos trabajo
         trabajo = trabajo.Sig;
         // Obtenemos el dato y lo mostramos
         Console.Write("[{0}] <= ", trabajo.Dato);
     }
     Console.WriteLine();
 }
        // Peek
        public char Peek()
        {
            // Esta version no contiene código de seguridad
            // Colocar una excepcion cuando se intente hacer un peek a un stack vacio

            char valor = ' ';

            // Llevamos a cabo el trabajo solamente si hay elementos en el stack
            if (ancla.Sig != null)
            {
                // Obtenemos el dato correspondiente
                trabajo = ancla.Sig;
                valor   = trabajo.Dato;
            }
            return(valor);
        }