hola, estoy codificando el algoritmo busqueda binaria recursiva y al devolver la posición en la que se encuentra el número me devuelve siempre el último resultado, y eso no es lo correcto al ser recursivo.
Código Delphi
[-]
function busquedaBinariaRec3 (dato : integer;inicio : integer;
fin : integer; var aBB: array of integer ) : integer;
var
pivote : integer;
begin
pivote := (inicio + fin) div 2;
if inicio > fin then
result := -1
else if dato = aBB[pivote] then
result := pivote
else if dato < aBB[pivote] then
busquedaBinariaRec3(dato,inicio,pivote-1,aBB)
else if dato > aBB[pivote] then
busquedaBinariaRec3(dato,pivote+1,fin,aBB);
end;
pd: perdon por no haber usado etiquetas en el foro anteriormente. espero q ahora si lo haya hecho correctamente. un saludo