Você está na página 1de 4

C program for binary search

C program for binary search: This code implements binary search in c language. It can only be
used for sorted arrays, but it's fast as compared to linear search. If you wish to use binary search
on an array which is not sorted then you must sort it using some sorting technique say merge
sort and then use binary search algorithm to find the desired element in the list. If the element
to be searched is found then its position is printed.
The code below assumes that the input numbers are in ascending order.

C programming code for binary search


#include <stdio.h>
int main()
{
int c, first, last, middle, n, search, array[100];
printf("Enter number of elements\n");
scanf("%d",&n);
printf("Enter %d integers\n", n);
for (c = 0; c < n; c++)
scanf("%d",&array[c]);
printf("Enter value to find\n");
scanf("%d", &search);
first = 0;
last = n - 1;
middle = (first+last)/2;
while (first <= last) {
if (array[middle] < search)
first = middle + 1;
else if (array[middle] == search) {
printf("%d found at location %d.\n", search, middle+1);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if (first > last)
printf("Not found! %d is not present in the list.\n", search);
return 0;
}

BINARY SEARCH USING C PROGRAM

1. Write a simple
programming language

code

for

binary

search

in

2. Wap a c program to search an element in an array using


binary search

#include<stdio.h>
int main(){

int a[10],i,n,m,c=0,l,u,mid;

printf("Enter the size of an array: ");

scanf("%d",&n);

printf("Enter the elements in ascending order: ");


for(i=0;i<n;i++){
scanf("%d",&a[i]);
}

printf("Enter the number to be search: ");


scanf("%d",&m);

l=0,u=n-1;
while(l<=u){
mid=(l+u)/2;
if(m==a[mid]){
c=1;
break;
}
else if(m<a[mid]){
u=mid-1;
}
else
l=mid+1;
}

if(c==0)
printf("The number is not found.");
else
printf("The number is found.");

return 0;
}

Sample output:
Enter the size of an array: 5
Enter the elements in ascending order: 4 7 8 11 21
Enter the number to be search: 11
The number is found.

Você também pode gostar