Clase Pila

class Pila
        {
            class Nodo
            {
                public string info;
                public Nodo sig;
            }


            private Nodo tope;

            public Pila()
            {
                tope = null;
            }

            public void Push(string x)
            {
                Nodo nuevo;
                nuevo = new Nodo();
                nuevo.info = x;
                if (tope == null)
                {
                    nuevo.sig = null;
                    tope = nuevo;
                }
                else
                {
                    nuevo.sig = tope;
                    tope = nuevo;
                }
            }

            public string Pop()
            {
                if (tope != null)
                {
                    string informacion = tope.info;
                    tope = tope.sig;
                    return informacion;
                }
                else
                {
                    return "";
                }
            }

            public void Imprimir()
            {
                Nodo reco = tope;
                Console.WriteLine("\nListado de todos los elementos de la pila.");
                while (reco != null)
                {
                    Console.Write(reco.info + "-");
                    reco = reco.sig;
                }
                Console.WriteLine();
            }
           public  bool Empty()
            {
                if (tope == null)
                    return true;
                else
                    return false;
            }

            public string  Peek()
            {
                if (!Empty())
                    return tope.info;
                else
                    return "";
           
            }
        }
        static void Main(string[] args)
        {
            Pila pila1 = new Pila();
            pila1.Push("Martin");
            pila1.Push("Ana");
            pila1.Push("Edén");
            pila1.Push("Nacho");
            pila1.Imprimir();
            pila1.Empty();
            Console.WriteLine("\n¿Esta vacia? " + pila1.Empty());

            Console.WriteLine("\nExtraemos de la pila: " + pila1.Pop());
            pila1.Peek();
            Console.Write("\nEl tope de la pila es " + pila1.Peek() + "\n");
            pila1.Imprimir();
         
            Console.ReadLine();
        }
   

Comentarios

Entradas populares