21xrx.com
2024-11-05 18:57:16 Tuesday
登录
文章检索 我的文章 写文章
C++二分查找代码
2023-07-09 02:29:15 深夜i     --     --
C++ 二分查找 代码

二分查找是一种高效的查找算法,也被称为二分法。它是一种在有序数组中查找目标值的算法。它的基本思想是每次取中间位置的元素来和目标值进行比较,缩小查找范围,直到找到目标值。

C++是一种广泛使用的编程语言,它在实现算法时具有非常高效的性能。下面是C++的二分查找代码实现:


int binarySearch(int arr[], int left, int right, int target) {

  // 如果左下标大于右下标,说明没有找到目标值

  if (left > right)

    return -1;

  

  // 计算中间位置

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

  // 如果中间位置的值等于目标值,则返回中间位置

  if (arr[mid] == target)

    return mid;

  

  // 如果中间位置的值大于目标值,则在左半部分继续查找

  if (arr[mid] > target) {

    return binarySearch(arr, left, mid - 1, target);

  }

  // 如果中间位置的值小于目标值,则在右半部分继续查找

  return binarySearch(arr, mid + 1, right, target);

}

在使用上面的代码时,需要将目标数组传入函数中,并指定左下标、右下标、以及目标值。函数会返回目标值在数组中的位置,如果找不到目标值,则会返回-1。

二分查找算法的时间复杂度为O(log n),比顺序查找更加高效。因此,在需要查找有序数组中的值时,使用二分查找算法可以更快地找到目标值。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复