Advertisement
CHU2

Interative Binary Search

Feb 18th, 2023
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.53 KB | Source Code | 0 0
  1. #include <iostream>
  2.  
  3. int binarysearch(const int size, int array[], int search);
  4.  
  5. int main(){
  6.     const int size = 5;
  7.     int array[size] = {2, 3, 4, 10, 40};
  8.     int search = 10;    //search in array
  9.    
  10.     int searchindex = binarysearch(size, array, search);
  11.    
  12.     if (searchindex != -1){
  13.         std::cout << "Element " << array[searchindex] << " present at index " << searchindex;
  14.     }
  15.     else {
  16.         std::cout << "Element is not present in array";
  17.     }
  18.    
  19.     return 0;
  20. }
  21.  
  22. int binarysearch(const int size, int array[], int search){
  23.     int h = 0;
  24.    
  25.     int middle = (((size -h) /2) +h);    //solution to find the middle array
  26.    
  27.     while (h < size && h > -1){    //condition for h to be only between 0-4(array size)
  28.         if (array[middle] == search){    //if index value = search -> return index
  29.             return middle;
  30.         }
  31.         else if (array[middle] < search){    //if index value < search -> ignore left half
  32.             h = middle;
  33.             if (h == 4){    //na infinity looping pag na reach na an h ha final index so gin condition ko nala
  34.                 h++;
  35.                 }
  36.             middle = (((size -h) /2) +h);
  37.         }
  38.         else if (array[middle] > search){    //if index value > search -> ignore right half
  39.             h = middle;
  40.             if (h == 0){    //same condition as line 33
  41.                 h--;
  42.                 }
  43.             middle = (h /2);
  44.         }
  45.     }
  46.    
  47.     return -1;    //if we reach here means the search value wasn't on any array index
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement