Thursday 18 January 2018

C Program to search numbers using Binary Search.

/*Binary Serach for sorted array
By-Shivam Tripathi
*/
#include<stdio.h>
#include<stdlib.h>
/*The elements of array should be sorted in Ascending order.*/

int binSearch(int *ar,int start,int end,int num)
{
if(end>=start){

int mid=(start+end)/2;
if(ar[mid]==num)
return (mid+1);
else if(ar[mid]<num)
return binSearch(ar,mid+1,end,num);
else
return binSearch(ar,start,mid-1,num);
}
return -1;
}
int main()
{
int n,i,pos,num;
printf("\nEnter the size of array:");
scanf("%d",&n);
printf("\nEnter element to search:");
scanf("%d",&num);
int *ar=(int *)malloc(n*sizeof(int));
printf("\nEnter the elements:");
for(i=0;i<n;i++)
{
scanf("%d",ar+i);
}

pos=binSearch(ar,0,n-1,num);
if(num>0)
printf("Location of element in array:%d",pos);
return 0;
}

No comments:

Post a Comment