//Ejercicio de Pila Lineal usando Lista Enlazada Simple static void EjemploPilaLineal_ListaEnlazada() { clsPilaLineal pilaLineal; int x; int clave = -1; Console.WriteLine("Ingrese los números y para terminar -1"); try { pilaLineal = new clsPilaLineal(); do { x = Convert.ToInt32(Console.ReadLine()); if (x != -1) { pilaLineal.insertarNodo(x); } } while (x != clave); Console.WriteLine("Estos son los elementos de la pila: "); pilaLineal.desplegarPila(); } catch (Exception error) { Console.WriteLine("Error :" + error.Message); } }
static void ejemploPilaLineal() { clsPilaLineal pila; int x; int clave = -1; Console.WriteLine("Ingrese numeros y para terminar -1"); try { pila = new clsPilaLineal();//instanciando 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: \n"); //desapilar while (!pila.PilaVacia()) { x = (int)(pila.quitar()); Console.WriteLine($"Elemento: {x}"); } } catch (Exception error) { Console.WriteLine("Error =" + error.Message); } }
//Ejercicio de Palíndromo usando Lista Enlazada Simple static void Palindromo_ListaEnlazada() { clsPilaLineal pilaChar; bool esPalindromo; String pal; try { pilaChar = new clsPilaLineal(); Console.WriteLine("Teclee una palabra para ser ver si es palíndromo: "); pal = Console.ReadLine(); String sinTilde = Regex.Replace(pal.Normalize(System.Text.NormalizationForm.FormD), @"[^a-zA-z0-0]+", ""); Console.WriteLine("Palabra sin tildes : " + sinTilde); sinTilde = sinTilde.Replace(" ", ""); Console.WriteLine("Nueva cadena de texto sin espacios : " + sinTilde); for (int i = 0; i < sinTilde.Length;) { //Insertamos el caracter, agarrando letra por letra char c; c = sinTilde[i++]; pilaChar.insertarNodo(c); } esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { char c; //Extraer uno a uno c = (char)pilaChar.quitarChar(); //Console.WriteLine("Valor c: " + c); esPalindromo = sinTilde[j++] == c; //Evalúa si la pos es igual } if (esPalindromo) { Console.WriteLine($"La palabra {sinTilde} es palindromo"); } else { Console.WriteLine($"NEl no ees"); } } catch (Exception error) { Console.WriteLine($"error{error.Message}"); } }
public void palindromo() { clsPilaLineal pilaChar; bool esPalindromo; try { pilaChar = new clsPilaLineal(); Console.WriteLine("Teclee una palabra: "); String pal = ""; //Quito los espacios y las letras con tilde pal = Regex.Replace(Console.ReadLine().Normalize(NormalizationForm.FormD), @"[^a-zA-z0-9]+", "") + Regex.Replace(pal, @"\s", "").ToLower(); for (int i = 0; i < pal.Length;) { Char c; c = pal[i++]; if (c != ' ') { pilaChar.insertar(c); } } esPalindromo = true; for (int j = pal.Length - 1; esPalindromo && !pilaChar.PilaVacia();) { char c; c = (char)pilaChar.quitarChar(); esPalindromo = pal[j--] == c; } pilaChar.limpiarPila(); if (esPalindromo) { Console.WriteLine($"la palabra {pal} es palindromo"); } else { Console.WriteLine("Nel no es"); } } catch (Exception error) { Console.WriteLine($"Upss error {error.Message}"); } }