Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.49 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. int bBinaria(int v[], int ini, int fim, int elem);
  5.  
  6.  
  7.  
  8. int main(){
  9.  
  10.     int v[] = {1,4,5,6,9,10};
  11.  
  12.     printf("%d\n", bBinaria(v,0,5, 10));
  13.  
  14.  
  15.     return 0;
  16. }
  17.  
  18. int bBinaria(int v[], int ini, int fim, int elem){
  19.  
  20.     int meio = (fim - ini)/2;
  21.  
  22.  
  23.     if(v[ini + meio] == elem)
  24.             return meio + ini;
  25.  
  26.  
  27.     if(meio == 0 && (fim-ini) != 1)
  28.         return -1;
  29.  
  30.  
  31.     if(v[ini + meio] > elem)
  32.         return bBinaria(v, ini, meio+ini -1, elem);
  33.  
  34.     return bBinaria(v, meio+ini+1, fim, elem);
  35.  
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement