Home »
C/C++ Data Structure Programs
C program to implement binary search
In this tutorial, we will learn how to write a C program to implement a binary search algorithm?
By IncludeHelp Last updated : August 10, 2023
Binary Searching is a half–interval searching algorithm in which an element can be searched in a sorted array with the minimum number of comparisons, in this algorithm key element compares with the middle index item.
Problem statement
Input an array of integers, and write a C program to implement a binary search to find an element from the given array.
C program to implement binary search
/*
program to implement Binary Searching,
to find an element in array.
*/
#include <stdio.h>
/*function : BinaryrSearch() */
int BinaryrSearch(int x[], int n, int item)
{
int L = 0; /*LOWER LIMIT */
int U = n - 1; /*UPPER LIMIT */
int mid; /*MIDDLE INDEX */
while (L < U) {
mid = (L + U) / 2;
if (x[mid] == item)
return mid;
else if (x[mid] < item)
L = mid + 1;
else if (x[mid] > item)
U = mid - 1;
}
return -1;
}
int main()
{
int num = 0, pos = 0;
int ar[10], i;
printf("\nEnter array elements (in ASC Order...):\n");
for (i = 0; i < 10; i++) {
printf("Enter element %02d :", i + 1);
scanf("%d", &ar[i]);
}
printf("\nEnter element to be searched :");
scanf("%d", &num);
pos = BinaryrSearch(ar, 10, num);
if (pos != -1) {
printf("\nItem found @ %02d location.\n", pos);
}
else {
printf("\nItem not found.\n");
}
printf("\n");
return 0;
}
Output
Enter array elements (in ASC Order...):
Enter element 01 :10
Enter element 02 :20
Enter element 03 :30
Enter element 04 :40
Enter element 05 :50
Enter element 06 :60
Enter element 07 :70
Enter element 08 :80
Enter element 09 :90
Enter element 10 :100
Enter element to be searched :80
Item found @ 07 location.