How to implement binary search algorithm in C

1 Answer

0 votes
#include <stdio.h>

int binarySearch(int array[], int element, int low, int high) {
    while (low <= high) {
        int mid = low + (high - low) / 2;
 
        if (array[mid] == element)
            return mid;
 
        if (array[mid] < element)
            low = mid + 1;
        else
            high = mid - 1;
    }
     
    return -1;
}
 
int main(void) {
    int array[] = {3, 4, 6, 8, 9, 10, 12, 20, 27, 30, 31};
    int number_to_find = 20;
 
    int index = binarySearch(array, number_to_find, 0, sizeof(array)/sizeof(array[0]));
         
    if (index == -1) 
        puts("Not found");
    else
        printf("Found at index: %d", index);
}
 
 
 
 
/*
run:
 
Found at index: 7
 
*/

 



answered Jan 18, 2022 by avibootz
edited Jan 18, 2022 by avibootz

Related questions

1 answer 175 views
1 answer 86 views
1 answer 102 views
1 answer 98 views
1 answer 82 views
1 answer 154 views
3 answers 250 views
...