Untitled
unknown
plain_text
2 years ago
1.0 kB
10
Indexable
#include <stdio.h>
/* Pesquisar um elemento num array de inteiros ordenado */
int pesquisa_binaria_recursiva (int x, int vetor[], int primeiro, int ultimo){
int meio = (primeiro + ultimo) / 2;
if (vetor[meio] == x){
return 1;
}
if (primeiro == ultimo){
return (vetor[meio] == x);
}
else{
if (vetor[meio] > x){
return (pesquisa_binaria_recursiva(x, vetor, primeiro, meio-1));
}
else{
return (pesquisa_binaria_recursiva(x, vetor, meio+1, ultimo));
}
}
}
int pesquisa_binaria (int x, int vetor[], int tamanho){
int resultado;
resultado = pesquisa_binaria_recursiva(x, vetor, 0, tamanho-1);
return resultado;
}
int main(){
int vetor[10] = {1,2,3,4,5,6,7,8,9,10};
int resultado = pesquisa_binaria(10, vetor, 10);
if(resultado){
printf("\nO número foi encontrado!\n");
}
else{
printf("\nO número não foi encontrado!\n");
}
}Editor is loading...
Leave a Comment