二分法c语言(C语言怎么实现二分法)

发布时间:2025-12-11 01:21:47 浏览次数:1

二分法(Binary Search)是一种在有序数组中查找特定元素的搜索算法。下面是用C语言实现二分法的示例代码:

#include <stdio.h>// 二分法查找函数int binarySearch(int arr[], int left, int right, int target) {    while (left <= right) {        int mid = left + (right - left) / 2;        // 如果目标值等于中间值,直接返回        if (arr[mid] == target) {            return mid;        }        // 如果目标值小于中间值,在左半部分继续查找        if (arr[mid] > target) {            right = mid - 1;        }        // 如果目标值大于中间值,在右半部分继续查找        if (arr[mid] < target) {            left = mid + 1;        }    }    // 目标值不存在于数组中,返回-1    return -1;}int main() {    int arr[] = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};    int target = 23;    int arrSize = sizeof(arr) / sizeof(arr[0]);    // 在有序数组中查找目标值    int result = binarySearch(arr, 0, arrSize - 1, target);    if (result == -1) {        printf("目标值 %d 不存在于数组中\n", target);    } else {        printf("目标值 %d 存在于数组中,索引为 %d\n", target, result);    }    return 0;}

main()函数中,我们定义了一个有序数组arr,并将目标值target设置为23。然后调用binarySearch()函数来查找目标值在数组中的索引。最后,根据返回的结果输出相应的信息。

二分法c语言
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477