haciendo pruebas descubri que en la funcion inserta_hijo_en_nodo en la linea que hago
Código C++:
Ver originalnodo = localizar_nodo( dato_nodo , arbol);
por alguna razon no se estan pasando los datos del nodo encontrado , actualmente las funciones son estas
Código C++:
Ver originalABB* localizar_nodo(int dat,ABB* abb){
ABB* copia_arbol = NULL;
copia_arbol = abb;
if(copia_arbol != NULL) {
cout<<"elemento "<<copia_arbol->elem<<endl;
if (copia_arbol->elem == dat){
cout<<"elemento retornado:"<<copia_arbol->elem<<endl;
return copia_arbol;
}else{
localizar_nodo(dat,copia_arbol->izq);
localizar_nodo(dat,copia_arbol->der);
}
}
}
y la que inserta el nodo
Código C++:
Ver originalvoid inserta_hijo_en_nodo(ABB *arbol,int dato_nodo,int nuevo_elem)
{
ABB *nuevo;
ABB *nodo;
nodo = localizar_nodo( dato_nodo , arbol);
//Esta es una salida de prueba aqui es donde me doy cuenta que el nodo es
//diferente al buscado
cout<<"El elemento en el nodo es "<<&nodo->elem<<endl;
nuevo = crear_nodo();
nuevo->elem = nuevo_elem;
//nodo->izq = nuevo;
}