Curso 2024/2025
int busquedaBinariaIterativa(vector<int> v, int dato) { // Esto es malo, lo veremos al medir tiempos int inicio = 0, fin = v.size() - 1; while (inicio <= fin) { int medio = (inicio + fin) / 2; if (v[medio] < dato) inicio = medio + 1; else if (v[medio] > dato) fin = medio - 1; else return medio; } return -1; }
En esta solución, el operador /
realiza la división entera
porque sus dos operandos (numerador y denominador) son de tipo entero. Al
hacer la división entera, los decimales se pierden. Por ejemplo, el resultado
de 25/2
es 12
.