Guest

bins

By: a guest on Sep 29th, 2010  |  syntax: C  |  size: 0.64 KB  |  hits: 125  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. #include <stdio.h>
  2.  
  3. int binSearch(int *src, int size, int key) {
  4.   int k = (size / 2) - 1;
  5.   if(src[k] == key) return k;
  6.   if(src[k] < key) {
  7.     for(k = size / 2; k < size; k++) {
  8.       if(src[k] == key) return k;
  9.     }
  10.   }
  11.   if(src[k] > key) {
  12.     for(k = size / 2; k > 0; k--) {
  13.       if(src[k] == key) return k;
  14.     }
  15.   }
  16.   return -1;
  17. }
  18.  
  19. int main(void) {
  20.   int arr[] = {1,2,3,4,5};
  21.   int size = sizeof(arr) / sizeof(int);
  22.   int val = 0, ret = 0;
  23.   scanf("%i", &val);
  24.   ret = binSearch(arr, size, val);
  25.   if(ret < 0) printf("Elemento não encontrado\n");
  26.   else printf("Elemento encontrado: %i\n", arr[ret]);
  27.   return 0;
  28. }