debo realizar un ejercicio para clase y hay una cosa que no tengo clara: pide explícitamente utilizar esta función void buscar(arbol A, elem dato, arbol *aux); para buscar un elemento de un árbol de letras (que no están ordenadas). El primer parámetro es el árbol dónde queremos buscar, el segundo el dato que se busca y el tercero un puntero que apunte a la posición del árbol donde se encuentra ese elemento.
Ahora bien, la función realiza su trabajo, pero quería saber si existe algún modo de detener la búsqueda cuando se haya encontrado el elemento y de que te avise si no lo ha encontrado. Al ser recursiva y de tipo void, no tengo claro como sería el procedimiento. Os dejo aquí mi función por si a alguien se le ocurre algo.
¡Muchas gracias, compañeros!
Código
void buscar(arbol A, elem dato, arbol *aux){ elem E; if(!esVacio(A)){ info(A,&E); // Miramos el contenido del nodo y lo almacenamos en la variable auxiliar E if(E==dato){ // Si el dato del nodo coincide con el buscado... *aux=A; } else{ buscar(izq(A),dato,aux); buscar(der(A),dato,aux); } } }