C program to implement binary search

In this tutorial, we will learn how to write a C program to implement a binary search algorithm? By IncludeHelp Last updated : August 10, 2023

Binary Searching is a half–interval searching algorithm in which an element can be searched in a sorted array with the minimum number of comparisons, in this algorithm key element compares with the middle index item.

Problem statement

Input an array of integers, and write a C program to implement a binary search to find an element from the given array.

C program to implement binary search

/*
program to implement Binary Searching,
to find an element in array.
*/

#include <stdio.h>

/*function    : BinaryrSearch() */

int BinaryrSearch(int x[], int n, int item)
{
    int L = 0; /*LOWER LIMIT   */
    int U = n - 1; /*UPPER LIMIT   */
    int mid; /*MIDDLE INDEX  */

    while (L < U) {
        mid = (L + U) / 2;
        if (x[mid] == item)
            return mid;
        else if (x[mid] < item)
            L = mid + 1;
        else if (x[mid] > item)
            U = mid - 1;
    }
    return -1;
}

int main()
{
    int num = 0, pos = 0;

    int ar[10], i;

    printf("\nEnter array elements (in ASC Order...):\n");
    for (i = 0; i < 10; i++) {
        printf("Enter element %02d :", i + 1);
        scanf("%d", &ar[i]);
    }

    printf("\nEnter element to be searched :");
    scanf("%d", &num);

    pos = BinaryrSearch(ar, 10, num);
    if (pos != -1) {
        printf("\nItem found @ %02d location.\n", pos);
    }
    else {
        printf("\nItem not found.\n");
    }
    printf("\n");
    
    return 0;
}

Output

Enter array elements (in ASC Order...):
Enter element 01 :10
Enter element 02 :20
Enter element 03 :30
Enter element 04 :40
Enter element 05 :50
Enter element 06 :60
Enter element 07 :70
Enter element 08 :80
Enter element 09 :90
Enter element 10 :100 

Enter element to be searched :80

Item found @ 07 location. 


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.