#include<stdio.h>
void binary_search ();
int a[50], n, item, loc, beg, mid, end, i;
int main ()
{
printf ("\nEnter size of an array: ");
scanf ("%d", &n);
printf ("\nEnter elements of an array in sorted form:\n");
for (i = 0; i < n; i++)
scanf ("%d", &a[i]);
printf ("\nEnter ITEM to be searched: ");
scanf ("%d", &item);
binary_search ();
return 0;
}
void binary_search ()
{
beg = 0;
end = n - 1;
mid = (beg + end) / 2;
while ((beg <= end) && (a[mid] != item))
{
if (item < a[mid])
end = mid - 1;
else
beg = mid + 1;
mid = (beg + end) / 2;
}
if (a[mid] == item)
printf ("\n\nITEM found at location %d", mid + 1);
else
printf ("\n\nITEM doesn't exist");
}
OUTPUT:
Enter size of an array: 5
Enter elements of an array in sorted form:
10 25 35 64 89
Enter ITEM to be searched: 35
ITEM found at location 3