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

溫馨提示×

C++二分查找函數怎樣確定中間值

c++
小樊
104
2024-07-21 02:44:57
欄目: 編程語言

在進行二分查找時,確定中間值通常是通過計算左右邊界的平均值來得到的。具體步驟如下:

  1. 首先,確定要查找的數組范圍的左右邊界,通常分別用兩個指針leftright來表示。

  2. 計算中間值的下標:mid = (left + right) / 2

  3. 如果要查找的值等于數組中的中間值,則查找成功并返回中間值的下標。

  4. 如果要查找的值小于中間值,則在左半部分繼續查找,更新右邊界為mid - 1;如果要查找的值大于中間值,則在右半部分繼續查找,更新左邊界為mid + 1

  5. 重復步驟2-4,直到找到要查找的值或者左邊界大于右邊界時停止查找。

下面是一個示例C++函數,用于實現二分查找:

int binarySearch(vector<int>& nums, int target) {
    int left = 0, right = nums.size() - 1;
    
    while (left <= right) {
        int mid = left + (right - left) / 2;
        
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    
    return -1; // 沒有找到目標值
}

在這個函數中,我們通過計算(left + right) / 2來確定中間值的下標mid,并在每次循環中更新左右邊界以繼續查找。

0
禹城市| 遵义市| 榆树市| 大英县| 太仆寺旗| 通河县| 潜山县| 社会| 墨竹工卡县| 阿克| 合江县| 镶黄旗| 屏东县| 临沭县| 扎鲁特旗| 宜宾县| 岗巴县| 文成县| 正安县| 新营市| 泗水县| 枝江市| 绿春县| 喀什市| 关岭| 安泽县| 南平市| 微山县| 孝昌县| 武陟县| 湖南省| 定陶县| 建瓯市| 平泉县| 渭源县| 罗江县| 界首市| 大关县| 大庆市| 兴仁县| 大化|