// ESTE ES EL NODO
public class NodoArbol {
public String palabra;
public int palabrasRepetidas;
public NodoArbol izqNodoArbol;
public NodoArbol derNodoArbol;
.....
}
private void AgregarRecursivo(NodoArbol nuevo, NodoArbol laRaiz) {
if (Buscar(nuevo, this.raiz)) { // esto es lo importante
//aca esta el resto del codigo para agregar
}
private boolean Buscar(NodoArbol nuevo, NodoArbol raiz) {
if (raiz == null) {
return false;
}
//la palabra esta en el arbol
if (raiz.palabra.equals(nuevo.palabra)) {
++raiz.palabrasRepetidas;
return true;
} else {
if (raiz.palabra.compareTo(nuevo.palabra) > 0) {
return Buscar(nuevo, raiz.izqNodoArbol);
} else{
return Buscar(nuevo, raiz.derNodoArbol);
}
}
}
private void AgregarRecursivo(NodoArbol nuevo, NodoArbol laRaiz) {
if (Buscar(nuevo, this.raiz)) { // esto es lo importante
//aca esta el resto del codigo para agregar
}
string = "aaa!ccc aaa ccc.aaa,ggg:ccc!ccc(ddd)eee¡eee!eee¿eee?fff fff fff eee eee fff fff bbb ggg";
String[] split = texto.split("[. , ' ' ( ) ¡ ! ¿ ? ' :]+");
for(String str: split){
System.out.println("***"+str+"***");
}
private void AgregarRecursivo(NodoArbol nuevo, NodoArbol laRaiz) {
if (Buscar(nuevo, this.raiz)) {
return; // busco si ya esta en el arbol EN CASO QUE ESTE SUMO +1
}
if (laRaiz.palabra.compareTo(nuevo.palabra)<0) //SI LA RAIZ ES MAYOR QUE EL NODO QUE QUIERO AGREGAR
{
if (laRaiz.izqNodoArbol == null) {
laRaiz.izqNodoArbol = nuevo;
} else {
AgregarRecursivo(nuevo, laRaiz.izqNodoArbol);
}
} else { //si entra , es porque la raiz es menor que el nuevo nodo
if (laRaiz.derNodoArbol == null) {
laRaiz.derNodoArbol = nuevo;
} else {
AgregarRecursivo(nuevo, laRaiz.derNodoArbol);
}
// NodoArbol name = (laRaiz.derNodoArbol==null)?laRaiz.derNodoArbol=nuevo:AgregarRecursivo(nuevo, laRaiz.derNodoArbol);
}
}
//BUSCO SI EL NODO YA ESTA EN EL ARBOL, EN CASO QUE ESTÉ, SUMO +1
private boolean Buscar(NodoArbol nuevo, NodoArbol raiz) {
if (raiz == null) {
return false;
}else{
//la palabra esta en el arbol
if (raiz.palabra.equals(nuevo.palabra)) {
++raiz.palabrasRepetidas;
return true;
} else {
if (raiz.palabra.compareTo(nuevo.palabra) < 0) {
return Buscar(nuevo, raiz.izqNodoArbol);
} else{
return Buscar(nuevo, raiz.derNodoArbol);
}
}
}}