BINARY SEARCH CODE USING RECURSION IN C LANGUAGE
#include<stdio.h>
// Simple and Smooth code on Binary search
int binarySearch(int a[],int min ,int max ,int element){
if (max>=min)
{
int mid=(min + max)/2;
if (a[mid]==element)
{
return (mid+1);
}
else
{
if (a[mid]>element)
{
return binarySearch(a,min,mid-1,element);
}
else
{
return binarySearch(a,mid+1,max,element);
}
}
}
return -1;
}
int main()
{
int msize=0,i,max,element,result,exitt=0;
printf("How many numbers do you want to insert in Array: \n");
scanf("%d", &msize);
int a[msize];
max=(sizeof(a[0])*msize)/sizeof(a[0]);
printf("Enter the %d elements in array(Assending Order ONLY)\n", max);
for ( i = 0; i <max; i++)
{
printf("Enter the %d element: ",i+1);
scanf("%d", &a[i]);
}
while (1)
{
printf("Enter the element that you wanted to search: ");
scanf("%d", &element);
for ( i = 0; i < max; i++)
{
printf("%d," ,a[i]);
}
printf("\b \n");
result=binarySearch(a,0,max-1,element);
if (result == -1)
{
printf("\t\t\t\t\t\tElement is not present in Array\n");
}
else
{
printf("\nElement is found at %d Position in Array\n\n", result);
}
printf("Press 0 for Continue\nPress 1 for change the Array\nPress 2 for exit\n");
scanf("%d",&exitt);
switch (exitt)
{
case 1:
return main();
break;
case 2:
return 0;
break;
default:
break;
}
}
return 0;
}
Comments
Post a Comment