public Cola()
 {
     // Instanciamos el ancla
     ancla = new Nodito();
     // Cómo es una cola vacia su siguiente es null
     ancla.Siguiente = null;
 }
 public void Transversa()
 {
     // Trabajo al inicio
     trabajo = ancla;
     while (trabajo.Siguiente != null)
     {
         // Avanzamos trabajo
         trabajo = trabajo.Siguiente;
         Console.Write("<=={0} ", trabajo.Valor);
     }
     Console.WriteLine();
 }
        public int Peek()
        {
            // Esta version no contiene código de seguridad
            // Colocar una excepción cuando se intente hacer un Peek cuando el queue está vacío
            int valor = 0;

            // Llevamos a cabo el trabajo solo si hay elementos en la cola
            if (ancla.Siguiente != null)
            {
                // Obtenemos el dato correspondiente
                trabajo = ancla.Siguiente;
                valor   = trabajo.Valor;
            }
            return(valor);
        }
        public void Enqueue(int dato)
        {
            // Trabajo al inicio
            trabajo = ancla;
            // Recorremos hasta encontrar el final
            while (trabajo.Siguiente != null)
            {
                // Avanzamos trabajo hasta el final
                trabajo = trabajo.Siguiente;
            }
            // Creamos el nuevo elemento de cola
            Nodito newEnCola = new Nodito();

            // Insertamos el dato
            newEnCola.Valor = dato;
            // El nuevo elemento apuntará a nulo ultimo nodo actual
            newEnCola.Siguiente = null;
            // El ultimo de la cola apuntará al nuevo ultimo
            trabajo.Siguiente = newEnCola;
        }