Boa noite pessoal,
eu to fazendo um trabalho aqui que era pra ser uma arvore de expressao, e eu gostaria que vcs me ajudassem a entender o codigo:
public class tree
{
public treeNode raiz;
private treeNode temp;
public tree()
{
raiz = null;
}
private void insereRaiz(String Valor) //insere a raiz
{
temp = raiz;
raiz = new treeNode(Valor);
raiz.esquerda = temp;
}
public void insereNode(String Valor) //insere o no
{
if(raiz == null)
raiz = new treeNode(Valor);//valor passado vai ser a raiz
else
if (Valor == "+" || Valor == "-" || Valor == "*" || Valor == "/")
insereRaiz(Valor);
else
raiz.direita = new treeNode(Valor);
}
public void imprime(treeNode no) //Imprime usando a Inorden
{
if (no != null)
{
imprime (no.esquerda);
System.out.print(no.info);
imprime (no.direita);
}
}
}
eu nao to entendendo os metodos insereNode e o metodo imprime, e quando manda imprimir
imprime tipo “a.imprime(a.raiz)”, porque manda imprimir a raiz?
a classe tree node:
package arvore_expressao;
public class treeNode
{
String info;
treeNode direita;
treeNode esquerda;
public treeNode(String Valor)
{
info = Valor;
esquerda = direita = null;
}
}
obigado