fork download
  1. #include <stdio.h>
  2.  
  3. typedef int bool;
  4. #define true 1
  5. #define false 0
  6.  
  7. bool search(int value, int array[], int n)
  8. {
  9. int left = 0;
  10. int right = n - 1;
  11. int middle = (left + right) / 2;
  12.  
  13. while (right >= left)
  14. {
  15. if (array[middle] == value)
  16. return true;
  17. else if (array[middle] > value)
  18. right = middle - 1;
  19. else if (array[middle] < value)
  20. left = middle + 1;
  21.  
  22. middle = (left + right) / 2;
  23. }
  24.  
  25. return false;
  26. }
  27.  
  28.  
  29. int main(void) {
  30. int array[] = {1, 3, 7, 13, 25, 47, 105};
  31. if (search(25, array, sizeof array / sizeof *array))
  32. printf("found\n");
  33. else
  34. printf("not found\n");
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0s 2168KB
stdin
Standard input is empty
stdout
found