编辑代码

#include <iostream>
using namespace std;

// 在有序数组中查找元素的函数
bool binarySearch(int arr[], int left, int right, int target) {
    while (left <= right) {
        int mid = left + (right - left) / 2;

        // 如果找到目标元素,返回true
        if (arr[mid] == target) {
            return true;
        }

        // 如果目标元素在数组的左侧,更新右边界
        if (arr[mid] > target) {
            right = mid - 1;
        } else { // 如果目标元素在数组的右侧,更新左边界
            left = mid + 1;
        }
    }

    return false;
}

int main() {
    int arr[] = {6, 17, 25, 34, 52, 63, 85}; // 给定的有序数组
    int target = 6; // 要查找的目标元素
    int n = sizeof(arr) / sizeof(arr[0]); 

    bool found = binarySearch(arr, 0, n - 1, target);

    // 输出查找结果
    if (found) {
        cout << "元素 " << target << " 存在于数组中。" << endl;
    } else {
        cout << "元素 " << target << " 不存在于数组中。" << endl;
    }

    return 0;
}