Curso 2024/2025
int busquedaBinariaRecursiva(const vector<int> & v, int dato, int inicio, int fin) { if (inicio <= fin) { int medio = (inicio + fin) / 2; if (v[medio] < dato) return busquedaBinariaRecursiva(v, dato, medio + 1, fin); else if (v[medio] > dato) return busquedaBinariaRecursiva(v, dato, inicio, medio - 1); else return medio; } return -1; } int busquedaBinariaRecursiva(const vector<int> & v, int dato) { return busquedaBinariaRecursiva(v, dato, 0, v.size() - 1); }
La segunda función sirve simplemente para que no tengamos que pasar como argumentos 0 y la última posición del vector cada vez que queremos hacer una búsqueda. No es imprescindible hacerla pero sí recomendable.