Saludos!!
estoy haciendo un funcion que me imprima un arbol binario de busqueda usando recursividad junto a una lista simple,,, fijense cada estructura tiene los siguientes datos.
arbolBB tiene los siguientes datos = clave(cedula), total de examenes anormales y total de examenes normales;
listaPaciente tiene los siguientes datos= cedula, nombre,apellidos, edad, estatura, numero de historia
y lo que quiero que esta funcion hage es lo siguiente:
-imprima el primer valor del arbol binario de busqueda, una quiero que agarre el parametro clave que es una cedula de cada paciente y esta cedula lo ubique en una lista de paciente, una ves que lo encuentre, este imprima los datos personales de ese paciente...
y lo que hice fue esto:
void Imprimir_General(arbolbb &arbolBB, ApuntadorBB ap, Lista<Paciente> &listaPaciente)
{
nodo<Paciente> *p;
if( arbolBB.Vacio() )
cout << "Actualmente no hay Resultador procesados...... \n";
if( ap != NULL )
{
p = listaPaciente.ObtPrimero();
if( arbolBB.ObtInfo(ap).Clave == listaPaciente.ObtInfo(p).getCedula() )
{
cout << "Nro. Historia: " << listaPaciente.ObtInfo(p).getNro_historia() << "\n";
cout << "Cedula: " << listaPaciente.ObtInfo(p).getCedula() << "\t";
cout << "Nombre: " << listaPaciente.ObtInfo(p).getNombre() <<"\t";
cout << "Apellido: " << listaPaciente.ObtInfo(p).getApellido() << "\t";
cout << "Peso: " << listaPaciente.ObtInfo(p).getPeso() << "\t";
cout << "Estatura: " << listaPaciente.ObtInfo(p).getEstatura() << endl;
cout << " Resultados de los Examenes " <<endl;
cout << "Total de Resultados Normales: " << arbolBB.ObtInfo(ap).Total_resNormales << endl;
cout << "Total de Resultados Anormales: " << arbolBB.ObtInfo(ap).Total_resAnormales << endl;
}
p = listaPaciente.ObtProx(p);
ApuntadorBB Izq, Der // creo 2 apuntadores para los nodos del arbol
Izq = arbolBB.ObtDer(ap);
Der = arbolBB.ObtIzq(ap);
Imprimir_General(arbolBB,Izq,listaPaciente); // recursividad
Imprimir_General(arbolBB,Der,listaPaciente); // recursividad
}
}
pero resulta ser que no hace nada,,,
me pueden ayudar please!!!!
.
Lo unico que se me ocurre es sustituir el metodo:
if( arbolBB.Vacio() )
por un metodo llamado Contar de tal manera hacer un simple for y evitar la recursividad.
por otro lado mas y aun mas importante, No somos adivinos para saber que hace de manera esacta cada miembro de las clases, o como trabajan.
Dulces Lunas!¡.