static void EjemploPilaLista()
        {
            int             x;
            PilaListaSimple listaEnla;

            listaEnla = new PilaListaSimple();
            PilaLista pl = new PilaLista();

            listaEnla.Agregar(1);
            listaEnla.Agregar(5);
            listaEnla.Agregar(16);
            listaEnla.Agregar(217);
            listaEnla.Agregar(41);
            listaEnla.Agregar(19);

            //var xx = listaEnla.eliminar();
            //var xx = pl.quitar();

            //while (!listaEnla.ListaVacia())
            //{
            //    x = (int)(listaEnla.eliminar());
            //    Console.WriteLine($"Elemento:{x}");
            //}

            Console.WriteLine("ORDEN INVERSO: ");
            listaEnla.inverso();

            int pausa;

            pausa = 0;
        }
        static void palindromo()
        {
            PilaLineal      pilaChar;
            bool            esPalindromo;
            String          pal;
            PilaListaSimple listaEnla = new PilaListaSimple();

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

                //PARTE MODIFICADA
                string remplazada       = Regex.Replace(pal, @"\s", "");
                string convertida       = remplazada.ToLower();
                Regex  reg              = new Regex("[^a-zA-Z0-9]");
                string textoNormalizado = convertida.Normalize(NormalizationForm.FormD);
                string textoSA          = reg.Replace(textoNormalizado, "");// texto sin acento
                //

                //creamos la pila con los chars
                for (int i = 0; i < textoSA.Length;)
                {
                    Char c;
                    c = textoSA[i++];
                    listaEnla.Agregar(c);
                }

                Console.WriteLine("ORDEN INVERSO: ");
                listaEnla.inverso();
                //comprueba si es palindromo
                esPalindromo = true;

                int pausa;
                pausa = 0;

                for (int j = 0; esPalindromo && !listaEnla.ListaVacia();)
                {
                    Char c;
                    c            = (Char)listaEnla.eliminarPal();
                    esPalindromo = textoSA[j++] == c; //evalua si la pos es igual
                }
                listaEnla.LimpiarPila();
                if (esPalindromo)
                {
                    Console.WriteLine($"La palabra {pal} es palindromo");
                }
                else
                {
                    Console.WriteLine($"Nel, no es ");
                }
            }
            catch (Exception error)
            {
                Console.WriteLine($"ups error {error.Message}");
            }
        }
        static void ejemploPilaLineal()
        {
            //PilaLineal pila;
            int             x;
            int             CLAVE     = -1;
            PilaListaSimple listaEnla = new PilaListaSimple();

            Console.WriteLine("Ingrese numeros y para terminar -1");
            try
            {
                //pila = new PilaLineal();
                do
                {
                    x = Convert.ToInt32(Console.ReadLine());
                    if (x != -1)
                    {
                        listaEnla.Agregar(x);
                    }
                } while (x != CLAVE);

                Console.WriteLine("ORDEN INVERSO");
                listaEnla.inverso();

                int pausa;
                pausa = 0;

                while (!listaEnla.ListaVacia())
                {
                    x = (int)(listaEnla.eliminar());
                    Console.WriteLine($"Elemento:{x}");
                }
                //pila.insertar(900);
            }
            catch (Exception error)
            {
                Console.WriteLine("Error= " + error.Message);
            }
        }