Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. int bsearch(int arr[], int l, int r, int key)
  2. {
  3. int mid = 0;
  4. while (1)
  5. {
  6. mid = (l + r) / 2;
  7.  
  8. if (key < arr[mid])
  9. {
  10. r = mid - 1;
  11. }
  12. else if (key > arr[mid])
  13. {
  14. l = mid + 1;
  15. }
  16. else return mid;
  17.  
  18. if (l > r)
  19. return -2;
  20. }
  21. }
  22. int bsearch_last(int arr[], int l, int r, int key){
  23. int value = -2;
  24. int mid = 0;
  25.  
  26. while (l <= r){
  27.  
  28. mid = (l + r) / 2;
  29.  
  30. if (arr[mid] == key){
  31. value = mid;
  32. l = mid + 1;
  33.  
  34. } else if (arr[mid] > key){
  35. r = mid - 1;
  36.  
  37. } else {
  38. l = mid + 1;
  39. }
  40. }
  41. return value;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement