binary search program in C

binary search program in C

Overview: C Program for binary search

This is a program of binary search in C language. It can only be used for sorted arrays, but it’s fast as compared to linear search.

If you wish to use binary search on an array which isn’t sorted, then you must sort it using some sorting technique say merge sort and then use the binary search algorithm, to find the desired element in the list.

If the element to be searched is found then its position is printed. For the below code we assume that the input numbers are in ascending order.

Let see the C programming for binary search
#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;
}

 

 

 

One thought on “binary search program in C

Leave a Reply