Oiiii
Estou com duvidas num exercício…
Tenho que tranformar uma expressão de operações posfixas em uma expressão infixa com os mesmos operandos e operadores
Ex: 5 9 + 2 x 6 5 x + (posfixa) => 5 + 9 x 2 + 6 x 5 (infixa)
Mas não estou conseguindo montar a classe para fazer essa inversão
Por favor se alguem souber montar a classe para trocar a expressão me ajude. Desde já obrigada!
Já tenho a classe Pilha com os metodos…
public class Pilha
{
public static final int CAPACITY = 1000; // capacidade default da pilha
private int capacity; // capacidade máxima da pilha
private String S[ ]; // array S que armazena os elementos da pilha
private int top = -1; // elemento do topo da pilha
// Construtores
public Pilha() // Inicializa a pilha com a capacidade
{
//default
this(CAPACITY);
}
//
public Pilha(int cap)
{
// Inicializa a pilha com uma capacidade dada
capacity = cap;
S = new String[capacity];
}
// Metodos
// Retorna o tamanho atual da pilha
public int size()
{
return(top + 1);
}
// Retorna True se a pilha está vazia
public boolean isEmpty()
{
return(top < 0);
}
// Empilha um novo objeto na pilha
public void push(String obj)
{
if (size() == capacity)
{ System.out.println("Estouro da Capacidade da Pilha"); }
else
{ S[++top] = obj; }
}
// Retorna o elemento do topo
public String top()
{
if (isEmpty())
{
System.out.println("Pilha está vazia.");
return null;
}
else
{
return S[top];
}
}
// Desempilha um elemento da pilha
public String pop()
{
String elem;
if (isEmpty())
{
System.out.println("Pilha está vazia");
return null;
}
else
{
elem = S[top];
S[top--] = null; // Desfaz a referência S[top] e decrementa top
return elem;
}
}
}
Por favor se alguem souber montar a classe para trocar a sequencia me ajude. Desde já obrigada!