C Program - Binary search



#include <stdio.h>
#include <conio.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);

    /*calculating first, last and middle position*/
    first = 0;
    last = n - 1;
    middle = (first+last)/2;

    /*Binary search will search element at middle, if element is not found in middle then it will split array into two parts and
    if element to be searched is less than middle then it will search only in lower part and if greater then in upper part */
    while( first <= last )
    {
        if ( array[middle] == search )
        {
            printf("%d found at location %d.\n", search, middle+1);
            break;
        }
        else if ( array[middle] < search )
            first = middle + 1;
        else
            last = middle - 1;

        middle = (first + last)/2;
    }
    if ( first > last )
        printf("Not found! %d is not present in the list.\n", search);
   
    getch();
    return 0;
}

Output
------------------

Comments

Popular posts from this blog

Introduction to C++ Programming Language

The Assembly Process Of 8086 Microprocessor-Two Pass Assembling Steps

Installing 8086 Assembler on a Computer