Fiz uma outra função que insere numa ABB que parece que funciona para todo caso (inclusive ABB vazia): No insereABB( No no, Object valor ) { if ( no == null ) return new No( valor ); if ( valor > no.valor ) no.dir = insereABB( no.dir, valor); else if ( valor < n.valor ) no.esq = insereABB(no.esq, valor); return no; } -- Francisco Sobral <fsobral@linux.ime.usp.br>