public void desempilhar() { if (isVazia(topo)) { Console.WriteLine("A pilha está vazia."); } else { topo = topo.getNext(); Console.WriteLine("Desempilhado com sucesso."); } }
public void imprimir() { if (isVazia(topo)) { Console.WriteLine("A pilha está vazia."); } else { NohPilha topoAux = new NohPilha(); topoAux = topo; Console.WriteLine("Pilha: "); for (int i = 0; topoAux != null; i++) { Console.WriteLine(i + 1 + "°: " + topoAux.getInfo() + "\n"); topoAux = topoAux.getNext(); } } }
private void testador() { bool flag = false; Pilha p1 = new Pilha(); for (int i = 0; i < textBox1.TextLength; i++) { if (textBox1.Text[i] == '{' || textBox1.Text[i] == '[' || textBox1.Text[i] == '(') { p1.empilhar(textBox1.Text[i]); } else if (textBox1.Text[i] == '}') { if (p1.getTopo() != null && p1.getTopo().getInfo() == '{') { p1.desempilhar(); } else { flag = true; break; } } else if (textBox1.Text[i] == ']') { if (p1.getTopo() != null && p1.getTopo().getInfo() == '[') { p1.desempilhar(); } else { flag = true; break; } } else if (textBox1.Text[i] == ')') { if (p1.getTopo() != null && p1.getTopo().getInfo() == '(') { p1.desempilhar(); } else { flag = true; break; } } else { continue; } } NohPilha topoAux = new NohPilha(); topoAux = p1.getTopo(); for (int i = 0; topoAux != null; i++) { if (topoAux.getInfo() == '{' || topoAux.getInfo() == '[' || topoAux.getInfo() == '(') { flag = true; } topoAux = topoAux.getNext(); } if (flag) { MessageBox.Show("A expressão matemática está incorreta"); } else { MessageBox.Show("A expressão matemática está correta"); } }