c++

C++二分查找函数怎么实现

小樊
88
2024-07-21 02:36:56
栏目: 编程语言

在C++中实现二分查找函数可以按照以下步骤进行:

  1. 定义一个函数,接收一个有序数组和要查找的目标值作为参数。
  2. 初始化两个指针,分别指向数组的起始和结束位置。
  3. 在一个循环中,比较中间元素与目标值的大小关系,若相等则返回中间元素的索引,若小于目标值则将起始指针移动到中间元素的右边一个位置,若大于目标值则将结束指针移动到中间元素的左边一个位置。
  4. 循环直到起始指针小于等于结束指针,此时若目标值存在于数组中则返回目标值的索引,否则返回-1表示未找到。

以下是一个简单的二分查找函数的C++实现代码示例:

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;
}

在调用该函数时,传入一个有序数组、目标值和数组的大小,函数将返回目标值在数组中的索引,如果不存在则返回-1。

0
看了该问题的人还看了