21xrx.com
2024-06-03 04:08:37 Monday
登录
文章检索 我的文章 写文章
C++二分查找算法代码
2023-07-03 20:22:32 深夜i     --     --
C++ 二分查找 算法 代码

二分查找算法是一种高效的搜索算法,通常用于在有序数组中查找某个元素。C++作为一种流行的编程语言,也提供了二分查找算法的代码实现。下面是一个简单的C++二分查找算法的代码示例:


int binary_search(int arr[], int l, int r, int x) {

  while (l <= r) {

    int mid = l + (r - l) / 2;  // 计算中间索引位置

    // 如果中间元素等于x,则返回它的索引位置

    if (arr[mid] == x)

      return mid;

    

    // 如果中间元素大于x,则在左半部分继续查找

    if (arr[mid] > x)

      r = mid - 1;

    

    // 如果中间元素小于x,则在右半部分继续查找

    else {

      l = mid + 1;

    }

  }

  // 如果没找到,则返回-1

  return -1;

}

这段代码接受四个参数:一个数组,数组的起始位置,数组的结束位置以及要查找的目标元素。它使用while循环来在数组中查找目标元素。在每个迭代中,它首先计算出中间元素的索引位置。如果中间元素等于目标元素,则立即返回中间元素的索引位置。如果中间元素大于目标元素,则它在左半部分继续查找。否则,它在右半部分继续查找。如果最终没能找到目标元素,则返回-1。

整个算法的复杂度是O(log n),其中n是数据集的大小。这比线性查找算法的复杂度O(n)要快得多,因此在处理大量数据时,二分查找是一个非常有用的算法。

  
  

评论区

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