温馨提示×

C语言如何实现二分查找算法

小亿
90
2024-03-21 09:14:58
栏目: 编程语言

以下是一个使用C语言实现二分查找算法的示例代码:

#include <stdio.h>

// 二分查找函数
int binarySearch(int arr[], int n, int target) {
    int left = 0;
    int right = n - 1;

    while (left <= right) {
        int mid = left + (right - left) / 2;

        if (arr[mid] == target) {
            return mid;
        } else if (arr[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }

    return -1; // 未找到目标元素
}

int main() {
    int arr[] = {1, 3, 5, 7, 9, 11, 13};

    int target = 7;
    int index = binarySearch(arr, 7, target);

    if (index != -1) {
        printf("目标元素 %d 在数组中的索引位置为 %d\n", target, index);
    } else {
        printf("未找到目标元素 %d\n", target);
    }

    return 0;
}

在这个示例中,通过 binarySearch 函数实现了二分查找算法,对一个已排序的数组进行查找。在 main 函数中,我们定义了一个数组 arr,并且指定了目标元素 target 进行查找。最后输出查找结果。

0