21xrx.com
2024-11-22 05:31:22 Friday
登录
文章检索 我的文章 写文章
C++二分查找代码
2023-07-02 18:35:54 深夜i     --     --
C++ 二分查找 代码

C++是一门广泛应用于计算机程序设计领域的编程语言。其语法简洁、功能强大,被广泛用于算法设计和实现。其中,二分查找算法是一种十分常用的算法之一,本文将介绍C++语言实现二分查找算法的代码。

二分查找算法是一种在有序数字列表中查找特定值的算法。其基本过程是将要查找的数组依次折半,判断要查找的元素在左半部分还是右半部分,并不断缩小查找范围,最终查找到要找的元素或者确认其不存在。

下面是一个使用C++语言实现二分查找算法的代码示例。


#include <iostream>

using namespace std;

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

  if (right >= left) {

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

    if (arr[mid] == x)

      return mid;

    if (arr[mid] > x)

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

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

  }

  return -1;

}

int main() {

  int arr[] = 4;

  int n = sizeof(arr) / sizeof(arr[0]);

  int x = 10;

  int result = binarySearch(arr, 0, n - 1, x);

  if (result == -1)

    printf("Element is not present in array");

  else

    printf("Element is present at index %d", result);

  return 0;

}

在上述代码中,我们首先定义了一个名为binarySearch的函数,参数包括要查找的有序数组、左右边界以及要查找的元素。具体实现中,我们先判断右边界是否大于等于左边界,如果不是则说明要查找的元素不存在于数组中。接下来,我们计算中间元素的下标,判断是否和要查找的元素相等,如果是则直接返回,否则根据大小关系进一步查找左半部分或是右半部分,递归进行下去,最终可以找到或确认不存在目标元素。

在main函数中,我们定义了一个有序数组,以及要查找的元素x。对于这个数组,我们先计算出它的长度,然后调用binarySearch函数进行查找操作。查找结果存在result变量中,如果result等于-1,则说明没有查找到这个元素,否则就输出查找到的位置下标。

总的来说,使用C++语言实现二分查找算法十分方便。只需要注意参数的传递和返回值即可,可以在算法设计和实现中大大提高效率。

  
  

评论区

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