static void NumbersList() { PilaLista PilaL; int x; int CLAVE = -1; Console.WriteLine("Ingrese numeros, y para terminar -1"); try { PilaL = new PilaLista(); do { x = Convert.ToInt32(Console.ReadLine()); if (x != -1) { PilaL.insertar(x); } } while (x != CLAVE); Console.WriteLine("ESTOS SON LOS ELEMENTOS DE LA PILA:"); while (!PilaL.pilaVacia()) { x = (int)(PilaL.quitar()); Console.WriteLine($"elemento:{x}"); } } catch (Exception error) { Console.WriteLine("Error= " + error.Message); } }
private string convertir(string infija) { String posfija = ""; PilaLista pila = new PilaLista(); for (int i = 0; i < infija.Length; i++) { //obtengo el caracter char caracter = infija[i]; if (operador(caracter)) { if (pila.pilaVacia()) { pila.insertar(caracter); } else { //evuluamos la prioridad if (prieoridadExpresion(caracter) > prieoridadPila((char)pila.cimaPila())) { pila.insertar(caracter); } else { //desapilar posfija += pila.quitar(); //apilamos el nuevo operador pila.insertar(caracter); } } } else { posfija += caracter; } } //sacamos todo lo de la pila while (!pila.pilaVacia()) { //desapilamos y guardamos todos los datos de la pila en la posfija posfija += pila.quitar(); } return(posfija); }
static void PalindromeStack() { PilaLista pilaLs; bool esPalindromo; String pal; try { pilaLs = new PilaLista(); Console.WriteLine("Teclee una palabra para ver si es "); pal = Console.ReadLine(); string remplazada = Regex.Replace(pal, @"\s", ""); string convertida = remplazada.ToLower(); string textoSinAcentos = DeleteSpecialCharacters(convertida); //creamos la pila con los chars for (int i = 0; i < textoSinAcentos.Length;) { Char c; c = textoSinAcentos[i++]; pilaLs.insertar(c); } //comprueva si es palindromo esPalindromo = true; for (int j = 0; esPalindromo && !pilaLs.pilaVacia();) { Char c; c = (Char)pilaLs.quitar(); esPalindromo = textoSinAcentos[j++] == c;//evalua si la posicion es igual o no es igual } pilaLs.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}"); } }
public void polindromoLista() { PilaLista pilaChar; bool esPalindromo; String pal; try { pilaChar = new PilaLista(); Console.WriteLine("Teclee una palabra"); pal = Console.ReadLine(); //creamos la pila con los char foreach (var letra in pal) { Char c; c = letra; pilaChar.insertar(c); } //comprueba si es palindromo esPalindromo = true; for (int i = 0; esPalindromo && !pilaChar.pilaVacia();) { Char c; c = (Char)pilaChar.quitarChar(); esPalindromo = pal[i++] == c; // evalua si la sigueinte letra es igual } pilaChar.limpiarPila(); if (esPalindromo) { Console.WriteLine($"La palabra es palindromo"); } else { Console.WriteLine($"La palabra no es un palindromo"); } } catch (Exception error) { Console.WriteLine($"ups error {error.Message}"); } }