Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int binarysearch(const int size, int array[], int search);
- int main(){
- const int size = 5;
- int array[size] = {2, 3, 4, 10, 40};
- int search = 10; //search in array
- int searchindex = binarysearch(size, array, search);
- if (searchindex != -1){
- std::cout << "Element " << array[searchindex] << " present at index " << searchindex;
- }
- else {
- std::cout << "Element is not present in array";
- }
- return 0;
- }
- int binarysearch(const int size, int array[], int search){
- int h = 0;
- int middle = (((size -h) /2) +h); //solution to find the middle array
- while (h < size && h > -1){ //condition for h to be only between 0-4(array size)
- if (array[middle] == search){ //if index value = search -> return index
- return middle;
- }
- else if (array[middle] < search){ //if index value < search -> ignore left half
- h = middle;
- if (h == 4){ //na infinity looping pag na reach na an h ha final index so gin condition ko nala
- h++;
- }
- middle = (((size -h) /2) +h);
- }
- else if (array[middle] > search){ //if index value > search -> ignore right half
- h = middle;
- if (h == 0){ //same condition as line 33
- h--;
- }
- middle = (h /2);
- }
- }
- return -1; //if we reach here means the search value wasn't on any array index
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement