Binary search in C
Binary search in C language to find an element in a sorted array. If the
array isn't sorted, we must sort it using a sorting technique such as
merge sort. If the element to search is present in the list, then we print
its location. The program assumes that the input numbers are
in ascending order.
Binary search program in C
#include <stdio.h>
int main()
{
int c, first, last, middle, n, search, array[100];
printf("Enter number of elements\n");
scanf("%d", &n);
printf("Enter %d integers\n", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
printf("Enter value to find\n");
scanf("%d", &search);
first = 0;
last = n - 1;
middle = (first+last)/2;
while (first <= last) {
if (array[middle] < search)
first = middle + 1;
else if (array[middle] == search) {
printf("%d found at location
%d.\n", search, middle+1);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if (first > last)
printf("Not found! %d isn't present in the
list.\n", search);
return 0;
}
Output of program: