Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- //busca binaria
- //dividir para conquistar
- //o vetor já está ordenado
- int buscaBinaria(int vetor[], int buscar, int tamanho){
- int inferior = 0; //limite inferior
- int superior = tamanho - 1; //limite superior(0 a 9) tamanho 10
- int metade;
- //inferior 0 e superior é o tamanho - 1
- while(inferior <= superior){
- //metade do vetor
- metade = (inferior + superior)/2;
- //se o numero da busca estiver na metade
- if(buscar == vetor[metade]){
- return metade;
- }
- //se o numero da busca for menor do que o numero que está na metade
- if(buscar < vetor[metade]){
- superior = metade - 1;
- //caso contario
- }else{
- inferior = metade + 1;
- }
- }
- //se retorna -1 quer dizer que não encontrou nada
- return -1;
- }
- int main(){
- int i, buscar, tamanho = 10;
- int vetor[tamanho];
- //colocando os valores ordenado no vetor
- for(i = 0; i < tamanho; i++){
- vetor[i] = i;
- }
- //teste
- for(i = 0; i < 10; i++){
- printf("%d\n",vetor[i]);
- }
- system("pause");
- printf("Digite um numero para a busca binaria : \n");
- scanf("%d",&buscar);
- if(buscaBinaria(vetor,buscar,tamanho) == -1){
- printf("A busca não encontrou nada\n");
- }else{
- printf("Achei algo");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement