Advertisement
fabi2295

Busca Binaria

Jun 3rd, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. //busca binaria
  4. //dividir para conquistar
  5. //o vetor já está ordenado
  6.  
  7. int buscaBinaria(int vetor[], int buscar, int tamanho){
  8.     int inferior = 0; //limite inferior
  9.     int superior = tamanho - 1; //limite superior(0 a 9) tamanho 10
  10.     int metade;
  11.    
  12.     //inferior 0 e superior é o tamanho - 1
  13.     while(inferior <= superior){
  14.         //metade do vetor
  15.         metade = (inferior + superior)/2;
  16.             //se o numero da busca estiver na metade
  17.             if(buscar == vetor[metade]){
  18.                 return metade;
  19.             }
  20.         //se o numero da busca for menor do que o numero que está na metade
  21.         if(buscar < vetor[metade]){
  22.             superior = metade - 1;
  23.        
  24.         //caso contario
  25.         }else{
  26.             inferior = metade + 1;
  27.         }
  28.     }
  29.     //se retorna -1 quer dizer que não encontrou nada
  30.     return -1;
  31. }
  32.  
  33. int main(){
  34.     int i, buscar, tamanho = 10;
  35.     int vetor[tamanho];
  36.  
  37.     //colocando os valores ordenado no vetor
  38.     for(i = 0; i < tamanho; i++){
  39.         vetor[i] = i;
  40.     }
  41.  
  42.     //teste
  43.     for(i = 0; i < 10; i++){
  44.         printf("%d\n",vetor[i]);
  45.     }
  46.     system("pause");
  47.     printf("Digite um numero para a busca binaria : \n");
  48.     scanf("%d",&buscar);
  49.    
  50.      
  51.     if(buscaBinaria(vetor,buscar,tamanho) == -1){
  52.         printf("A busca não encontrou nada\n");
  53.     }else{
  54.         printf("Achei algo");
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement