编辑代码

#include <iostream>
#include <vector>

bool binarySearch(const std::vector<int>& arr, int target) {
    int left = 0;
    int right = arr.size() - 1;

    while (left <= right) {
        int mid = left + (right - left) / 2;

        if (arr[mid] == target) {
            return true;  // 元素找到
        } else if (arr[mid] < target) {
            left = mid + 1;  // 目标元素在右半部分
        } else {
            right = mid - 1;  // 目标元素在左半部分
        }
    }

    return false;  // 元素未找到
}

int main() {
    int arr_data[] = {6, 17, 25, 34, 52, 63, 85};
    std::vector<int> arr(arr_data, arr_data + sizeof(arr_data) / sizeof(arr_data[0]));
    int target = 6;

    if (binarySearch(arr, target)) {
        std::cout << "元素 " << target << " 存在于数组中。" << std::endl;
    } else {
        std::cout << "元素 " << target << " 不存在于数组中。" << std::endl;
    }

    return 0;
}