亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言二分查找算法代碼怎么寫

小億
85
2023-11-28 13:44:04
欄目: 編程語言

以下是一個用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; // 找到目標元素,返回索引
        } 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, 20};
   int n = sizeof(arr) / sizeof(arr[0]); // 數組長度
   int target = 12; // 目標元素
   int result = binarySearch(arr, 0, n - 1, target);
   if (result == -1) {
       printf("目標元素 %d 不存在\n", target);
   } else {
       printf("目標元素 %d 的索引為 %d\n", target, result);
   }
   return 0;
}

這個示例中,我們定義了一個binarySearch函數,該函數接受一個已經排序的整數數組arr、左邊界left、右邊界right和目標元素target作為參數。函數使用while循環來不斷縮小搜索范圍,直到找到目標元素或搜索范圍為空。如果找到目標元素,返回其索引;否則返回-1表示未找到。

main函數中,我們定義了一個已經排序的整數數組arr,并使用sizeof運算符計算出數組的長度n。我們指定目標元素為12,并調用binarySearch函數進行查找。最后根據返回結果輸出查找結果。

0
彭水| 彭山县| 崇义县| 岳池县| 唐河县| 益阳市| 鲁山县| 黄浦区| 酒泉市| 象山县| 盈江县| 宁晋县| 山西省| 五莲县| 佛坪县| 化德县| 上思县| 桑日县| 堆龙德庆县| 天全县| 丁青县| 深泽县| 航空| 抚远县| 绵阳市| 绵竹市| 谢通门县| 罗城| 高邑县| 台北县| 纳雍县| 广州市| 龙江县| 鄯善县| 和平县| 宜丰县| 曲阳县| 出国| 赣榆县| 古浪县| 潢川县|