Preciso de uma ajuda. Estou a criar uma arvore binaria de pesquisa. Acontece é q a partir da arvore eu tenho que procurar uma palavra, apagar automaticamente palavras q se repetem mais de 15 vezes(com a informação de qual), e esta ficando complicado. A arvore já feita esta desta forma:
[code]
public class ABPesq {
private String newVal;
private BSTNode p ;
/** Creates a new instance of ABPesq */
public ABPesq() {
}
BSTNode root = null;
public void insert(String newVal) {
if (root == null) {
root = new BSTNode(newVal);
}
else {
BSTNode p = root;
while (p != null) {
int compared = newVal.compareToIgnoreCase(p.info);
if (compared == 0) {
p.count++;
break;
}
else if (compared < 0) {
if (p.left == null) {
p.left = new BSTNode(newVal);
break;
}
else {
p = p.left;
}
}
else {
if (p.right == null) {
p.right = new BSTNode(newVal);
break;
}
else {
p = p.right;
}
}
if (newVal.equals(p.info))
{
p.count+=1;
System.out.println(p.info+"("+p.count+")");
return;
}
if (newVal.equals(p.info)) {
p.count+=1;
if( p.count > 15 ){
System.out.println("A palavra "+p.info+ " foi repetida ("+p.count+") vezes");//saida
}
return ;
}
}
}
}
class BSTNode{
final String info;
int count = 1;
BSTNode left;
BSTNode right;
public BSTNode(String newVal)
{
this.info = newVal;
}
}[/code]
Ainda assim esta class apresenta alguns erros tal com a repitição das palavras quantas vezes elas existam em vez de informar apenas q a palvra repete-se x vezes. Alguma ajuda para implementar as outra funções serão bem vindas
Aquele abraço
Jose
Moz
}//fim
[nota ao autor: pelo amor de deus… use as tags “code” para demarcar trecho de código!!]