La Web del Programador: Comunidad de Programadores
 
    Pregunta:  13304 - METODO DE BúSQUEDA BINARIA
Autor:  quique sánchez galindo
necesito saber como realizar el método de busqueda binaria para un array de estructuras en TC.

  Respuesta:  yon
codigo

bool binario(Tipo_vec Vector, int tamano , int lim_inf=0, int lim_sup=tamano-1, Tipo_vec dato=0) {
// Vector es el vector a hacer la busqueda.
// tamano el tamano del vector.
// lim los limites del vector, inferior y superior.
// return true si lo encuentra a dato.
if(lim_inf > lim_sup) return false; // condicion de salida.
if(Vector[lim_inf+tamano/2] == dato) {
return true;
}
else {
if(Vector[lim_inf+tamano/2] < dato) {
lim_sup -= tamano/2;
}
else {
lim_inf +=tamano/2;
}
return binario(Vector,tamano,lim_inf,lim_sup,dato); // Vuelvo a buscar.
}
} // binario.