溫馨提示×

如何使用c語言二分法查找一個數

小億
115
2024-02-20 15:48:26
欄目: 編程語言

以下是一個示例代碼,漂亮的實現了使用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; // 返回-1表示未找到目標數
}

int main() {
    int arr[] = {2, 4, 6, 8, 10, 12, 14, 16, 18};
    int n = sizeof(arr) / sizeof(arr[0]);
    int target = 10;
    
    int result = binarySearch(arr, n, target);
    
    if (result != -1) {
        printf("目標數 %d 找到在索引 %d\n", target, result);
    } else {
        printf("目標數 %d 未找到\n", target);
    }
    
    return 0;
}

您可以將要查找的數組和目標數傳遞給binarySearch函數,并在函數返回的索引位置找到目標數。如果未找到目標數,則函數將返回-1。在上面的示例中,目標數10在數組中的索引3處找到。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女