Binary search
{It looks for particular element by comparing the middle most element of the collection }
Program
#include <stdio.h>
int main()
{
int i,j,n,key,h,l,m,arr[100];
printf("enter size:");
scanf("%d",&n);
printf("\nenter element to be searched :");
scanf("%d",&key);
for(i=0; i<n; i++)
{
printf("enter elements %d: ",i+1);
scanf("%d",&arr[i]);
}
l=0;
h=n-1;
m=l+h/2;
while(arr[m]!=key&&l<=h)
{
if(arr[m]<key)
l=m+1;
else
h=m-1;
}
m=l+h/2;
if(arr[m]==key)
printf("location found %d",m+1);
else
printf("location not found ");
return 0;
}
enter size:7
enter element to be searched :5
enter elements 1: 9
enter elements 2: 8
enter elements 3: 6
enter elements 4: 5
enter elements 5: 4
enter elements 6: 3
enter elements 7: 2
location found 4
/////////////////////////////
Comments
Post a Comment