Binary Search in C Programming Following program explains binary Search:

Binary Search finds the position of a given value from an array .

It starts with the middle element of the list.

1. If the middle element of the list is equal to the ‘input key’ then we have found the position the specified value.

2. Else if the ‘input key’ is greater than the middle element then the ‘input key’ has to be present in the last half of the list.

3. Or if the ‘input key’ is lesser than the middle element then the ‘input key’ has to be present in the first half of the list.

Binary Search finds the position of a given value from an array .

**Algorithm:**It starts with the middle element of the list.

1. If the middle element of the list is equal to the ‘input key’ then we have found the position the specified value.

2. Else if the ‘input key’ is greater than the middle element then the ‘input key’ has to be present in the last half of the list.

3. Or if the ‘input key’ is lesser than the middle element then the ‘input key’ has to be present in the first half of the list.

#include

int main(){

int a[10],i,n,m,c,l,u;

printf(“Enter the size of an array: “);

scanf(“%d”,&n);

printf(“Enter the elements of the array: ” );

for(i=0;i<n;i++){

scanf(“%d”,&a[i]);

}

printf(“Enter the number to be search: “);

scanf(“%d”,&m);

l=0,u=n-1;

c=binary(a,n,m,l,u);

if(c==0)

printf(“Number is not found.”);

else

printf(“Number is found.”);

return 0;

}

int binary(int a[],int n,int m,int l,int u){

int mid,c=0;

if(l<=u){

mid=(l+u)/2;

if(m==a[mid]){

c=1;

}

else if(m<a[mid]){

return binary(a,n,m,l,mid-1);

}

else

return binary(a,n,m,mid+1,u);

}

else

return c;

}