Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. ///BinarySearch///
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int _binarySearch(int* array, int left, int right, int target) {
  6. if (right - left < 0) {
  7. return -1;
  8. }
  9.  
  10. int mid = (right + left) / 2;
  11. if (array[mid] == target) {
  12. return mid;
  13. } else if (array[mid] > target) {
  14. return _binarySearch(array, left, mid - 1, target);
  15. } else if (array[mid] < target) {
  16. return _binarySearch(array, mid + 1, right, target);
  17. }
  18. return -1;
  19. }
  20.  
  21. int binarySearch(int *array, int length, int target) {
  22. return _binarySearch(array, 0, length - 1, target);
  23. }
  24.  
  25. int main() {
  26. int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
  27. int * arrStart = &arr[0];
  28.  
  29. cout << "Index of 2 is " << binarySearch(arr, 10, 2) << "\n";
  30. cout << "Index of -2 is " << binarySearch(arr, 10, -2) << "\n";
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement