溫馨提示×

C++二分查找函數(shù)怎么實現(xiàn)

c++
小樊
88
2024-07-21 02:36:56
欄目: 編程語言

在C++中實現(xiàn)二分查找函數(shù)可以按照以下步驟進行:

  1. 定義一個函數(shù),接收一個有序數(shù)組和要查找的目標值作為參數(shù)。
  2. 初始化兩個指針,分別指向數(shù)組的起始和結束位置。
  3. 在一個循環(huán)中,比較中間元素與目標值的大小關系,若相等則返回中間元素的索引,若小于目標值則將起始指針移動到中間元素的右邊一個位置,若大于目標值則將結束指針移動到中間元素的左邊一個位置。
  4. 循環(huán)直到起始指針小于等于結束指針,此時若目標值存在于數(shù)組中則返回目標值的索引,否則返回-1表示未找到。

以下是一個簡單的二分查找函數(shù)的C++實現(xiàn)代碼示例:

int binarySearch(int arr[], int target, int size) {
    int left = 0;
    int right = size - 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;
}

在調用該函數(shù)時,傳入一個有序數(shù)組、目標值和數(shù)組的大小,函數(shù)將返回目標值在數(shù)組中的索引,如果不存在則返回-1。

0