Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            string origen = "nombre", reemplazo = "Francisco";
            PilaVinculada <string> pila = new PilaVinculada <string>();

            pila.Apila("Antonio");
            pila.Apila("nombre");
            pila.Apila("Maria");
            pila.Apila("nombre");
            pila.Apila("Pilar");
            pila.Apila("Roberto");
            pila.Apila("nombre");

            Console.WriteLine("Pila sin reemplazar:");
            foreach (string dato in pila)
            {
                Console.WriteLine(dato);
            }

            Console.WriteLine($"\nVamos a reemplazar los \"{origen}\" por \"{reemplazo}\":");
            cambiaPila(pila, "nombre", "Franciso");


            foreach (string dato in pila)
            {
                Console.WriteLine(dato);
            }
        }
Ejemplo n.º 2
0
        public static void cambiaPila(PilaVinculada <string> pila, string origen, string reemplazo)
        {
            Queue <string>         c       = new Queue <string>();
            PilaVinculada <string> pilaAux = new PilaVinculada <string>();

            while (pila.Elementos > 0)
            {
                if (pila.Peek() == origen)
                {
                    pila.Desapila();
                    pila.Apila(reemplazo);
                }
                c.Enqueue(pila.Desapila());
            }

            while (c.Count > 0)
            {
                pilaAux.Apila(c.Dequeue());
            }

            while (pilaAux.Elementos > 0)
            {
                pila.Apila(pilaAux.Desapila());
            }
        }