Senhores(as) boa noite… Primeiramente ja fiz diversas pesquisas (Guj/Google) e por infelicidade minha, naum consigo achar onde ta o bendito erro nesta função de remoção de uma arvore binaria, so falta a remoção, restante esta tudo certo…,
se caso alguem pode me ajudar… gracias
public static void delete(int valor)
{
if (A==null){
System.out.println("Vazio");
}else{
int x=valor;
no aux=A;
no ant=A;
while((aux!=null)&& (x!=aux.info))
{
if(x<aux.info)
{
ant=aux;
aux=aux.esq;
}
else if(x>aux.info)
{
ant=aux;
aux=aux.dir;
}
}
if (aux!=null)
{
if((aux.esq==null)&&(aux.dir==null))
{
if(x<ant.info)
ant.esq=null;
else
ant.dir=null;
}
else if((aux.esq!=null)&&(aux.dir==null))
{
if(x<ant.info)//
ant.esq=aux.esq;
else
ant.dir=aux.esq;
}
else if((aux.esq==null)&&(aux.dir!=null))
{
if(x<ant.info)
ant.esq=aux.dir;
else
ant.dir=aux.dir;
}
else if((aux.esq!=null)&&(aux.dir!=null))
{
no troca=aux.esq;
while(troca.dir!=null)
{
ant=troca;
troca=troca.dir;
}
aux.info=troca.info;
if(troca.esq!=null)
ant.dir=troca.esq;
else
ant.dir=null;
}
}
}
}