Pesquisa binária: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
→‎Código em C: /*Correção: if(e == d) para if(e >= d), sem essa correção pode ocorrer um overflow, caso o vetor seja de tamanho impar, e possua pequenos "saltos" sem padrão fazendo que "e" cruze posições com "d"/*
→‎Código Recursivo em Pascal: A variável passada como parâmetro tinha o nome de 'chave', porém a comparação era com uma variável chamada 'x'. Alterado 'x' por 'chave'
Linha 260:
 
=== Código Recursivo em Pascal ===
<syntaxhighlight lang="pascal" line="1">
function BuscaBinariaRecursiva(var Vetor: array of string; L,H: integer; chave: string): integer;
var m:integer; {variavel auxiliar que indica o meio do vetor}
Linha 270:
begin
m:=(L+H) div 2;
if xchave<Vetor[M] then
BuscaBinariaRecursiva:=BuscaBinariaRecursiva(Vetor,L,M-1,xchave)
else
if xchave>Vetor[M] then
BuscaBinariaRecursiva:=BuscaBinariaRecursiva(Vetor,M+1,H,xchave)
else
BuscaBinariaRecursiva:=M;