Binary search in C.

 

01  #include<stdio.h>
02 int main()
03 {
04 int c, first, last, middle, n, search, array[100];
05 printf("Enter number of elementsn");
06 scanf("%d",&n);
07 printf("Enter %d integersn", n);
08
09 for ( c = 0 ; c < n ; c++ )
10 scanf("%d",&array[c]);
11 printf("Enter value to findn");
12 scanf("%d",&search);
13 first = 0;
14 last = n - 1;
15 middle = (first+last)/2;
16
17 while( first <= last )
18 {
19 if ( array[middle] < search )
20 first = middle + 1;
21 else if ( array[middle] == search )
22 {
23 printf("%d found at location %d.", search, middle+1);
24 break;
25 }
26 else
27 last = middle - 1;
28 middle = (first + last)/2;
29 }
30 if ( first > last )
31 printf("Not found! %d is not present in the list.n", search);
32
33 return 0;
34 }
 
 
OUTPUT :

(1st Run)

Enter the number of elements
5

Enter 5 integers
12
13
14
15
16

Enter the value to find
14

14 is found at location 3.

(2nd Run)

Enter the number of elements
5

Enter 5 integers
12
13
14
15
16

Enter the value to find
23

Not found! 23 is not present in the list.
 
 

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *