91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
台中市| 读书| 阿拉尔市| 铜梁县| 宁海县| 桦甸市| 鹤岗市| 安乡县| 京山县| 竹山县| 盱眙县| 涟水县| 西乌| 开阳县| 古蔺县| 辽中县| 曲周县| 达尔| 宁明县| 长宁区| 平塘县| 盐山县| 万源市| 溧阳市| 隆安县| 通海县| 麻江县| 视频| 阳原县| 南汇区| 宜章县| 陇西县| 白朗县| 历史| 肇州县| 伊川县| 都匀市| 宜章县| 太湖县| 清苑县| 谢通门县|