#include<stdio.h>
void binsearch(int[],int);
int main()
{
int a[15],pos,n,i;
printf("\n Enter no of elements ");
scanf("%d",&n);
printf("\n Enter elements ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
binsearch(a,n);
return 0;
}
void binsearch(int a[],int n)
{
int low = 0 , high = n-1 , key , mid = (low + high)/2 ,comp = 1;
printf("\n Enter key to be searched ");
fflush(stdin);
scanf("%d",&key);
while(low<=high && key != a[mid])
{
comp++;
if(key<a[mid])
high = mid - 1;
else
low = mid + 1;
mid = (low + high)/2;
}
if(a[mid]==key)
{
printf("\n Element found at position = %d",mid + 1);
printf("\n Comparisons = %d",comp);
}
else
printf("\n Element not found");
}
void binsearch(int[],int);
int main()
{
int a[15],pos,n,i;
printf("\n Enter no of elements ");
scanf("%d",&n);
printf("\n Enter elements ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
binsearch(a,n);
return 0;
}
void binsearch(int a[],int n)
{
int low = 0 , high = n-1 , key , mid = (low + high)/2 ,comp = 1;
printf("\n Enter key to be searched ");
fflush(stdin);
scanf("%d",&key);
while(low<=high && key != a[mid])
{
comp++;
if(key<a[mid])
high = mid - 1;
else
low = mid + 1;
mid = (low + high)/2;
}
if(a[mid]==key)
{
printf("\n Element found at position = %d",mid + 1);
printf("\n Comparisons = %d",comp);
}
else
printf("\n Element not found");
}
No comments:
Post a Comment