Develop non-recursive functions to perform search for a Key value in a given list using (i) Binary Search Non Recursive
#include<stdio.h>
int binary_search(int a[],int low,int high,int key);
int main()
{
int a[10],i,n,key,found;
clrscr();
printf("enter no of elements");
scanf("%d",&n);
printf("enter %d elements",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("enter key element");
scanf("%d",&key);
found=binary_search(a,0,n-1,key);
if(found==-1)
printf("\n unsuccessful search key %d is not found in the list",key);
else
printf("\n successful search key %d is found at index %d",key,found);
return 0;
}
int binary_search(int a[],int low,int high,int key)
{
int mid;
while(low<=high)
{
mid=(low+high)/2;
if(key==a[mid])
return mid;
else if(key<a[mid])
high=mid-1;
else
low=mid+1;
}
return -1;
}
Comments
Post a Comment