Binary Search

Binary Search in C Programming Following program explains binary Search:
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;
}

Comments

comments

Leave a Reply

Your email address will not be published. Required fields are marked *