Advertisement
fabi2295

Busca Binaria

May 28th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.98 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.     while(inferior <= superior){
  13.         metade = (inferior + superior)/2;
  14.        
  15.         if(buscar == vetor[metade]){
  16.             return metade;
  17.         }
  18.         if(buscar < vetor[metade]){
  19.             superior = metade - 1;
  20.         }else{
  21.             inferior = metade + 1;
  22.         }
  23.     }
  24.     return -1;
  25. }
  26.  
  27. int main(){
  28.     int i, buscar, tamanho = 10;
  29.     int vetor[tamanho];
  30.    
  31.     //colocando os valores ordenado no vetor
  32.     for(i = 0; i < tamanho; i++){
  33.         vetor[i] = i;
  34.     }
  35.    
  36.     //teste
  37.     for(i = 0; i < 10; i++){
  38.         printf("%d\n",vetor[i]);
  39.     }
  40.     system("pause");
  41.    
  42.     printf("Digite um numero para a busca binaria : \n");
  43.     scanf("%d",&buscar);
  44.    
  45.     if(buscaBinaria(vetor,buscar,tamanho) == -1){
  46.         printf("A busca não encontrou nada\n");
  47.     }else{
  48.         printf("Achei algo");
  49.     }
  50.    
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement