Exemplo n.º 1
0
        public void polindromoListEn()
        {
            bool            esPalindromo;
            String          pal;
            PLinealEnlazada lsimple = new PLinealEnlazada();

            try
            {
                Console.WriteLine("Teclee una palabra para ver si es ");
                pal = Console.ReadLine();

                string rep = Regex.Replace(pal, @"\s", "");
                string con = rep.ToLower();
                Regex  reg = new Regex("[^a-zA-Z0-9 ]");
                string nr  = con.Normalize(NormalizationForm.FormD);
                string ns  = reg.Replace(nr, "");

                // creamos la pila con los chars
                for (int i = 0; i < ns.Length;)
                {
                    Char c;
                    c = ns[i++];
                    lsimple.insertar(c);
                }
                int pausa;
                pausa = 0;
                // comprueba si es palindromo
                Console.WriteLine("Imprimiendo en orden inverso:");
                lsimple.inverse();
                esPalindromo = true;
                for (int j = 0; esPalindromo && !lsimple.pilaVacia();)
                {
                    Char c;
                    c            = (Char)lsimple.quitarPila();
                    esPalindromo = ns[j++] == c; // evalua si la pos es igual
                }
                lsimple.LimpiarPila();
                if (esPalindromo)
                {
                    Console.WriteLine($"La palabra ({ns}) SI es palindromo");
                }
                else
                {
                    Console.WriteLine($"La palabra ({ns}) NO es palindromo");
                }
            }
            catch (Exception error)
            {
                Console.WriteLine($"ups, error = " + error.Message);
            }

            Console.ReadKey();
        }
Exemplo n.º 2
0
        public void ejemploPilaLinealEn()
        {
            PLinealEnlazada pila;
            int             x;
            int             CLAVE = -1;

            Console.WriteLine("Ingrese numeros, y para terminar -1");
            try
            {
                pila = new PLinealEnlazada(); // crea la pila
                do
                {
                    x = Convert.ToInt32(Console.ReadLine());
                    if (x != -1)
                    {
                        pila.insertar(x);
                    }
                } while (x != CLAVE);

                Console.WriteLine("Estos son los elementos de la pila:");

                while (!pila.pilaVacia())
                {
                    x = (int)(pila.quitar());
                    Console.WriteLine($"elemento: {x}");
                }
                pila.insertar(900);
                pila.insertar(45);
                pila.insertar(12);
                pila.insertar(1);
                int pausa;
                pausa = 0;
            }
            catch (Exception error)
            {
                Console.WriteLine("Error = " + error.Message);
            }

            Console.ReadKey();
        }