21xrx.com
2024-09-20 01:02:59 Friday
登录
文章检索 我的文章 写文章
C++实现二分法查找
2023-07-01 01:09:43 深夜i     --     --
C++ 二分法 查找 算法 数组

二分法查找又称折半查找,是一种高效的查找方法。它是利用已经排好序的数据集合进行查找,将集合分成两部分,每次查找都将待查找的数据和中间位置的数据进行比较,可以快速地缩小查找范围,直到找到需要的数据或查找范围为空为止。

C++语言作为一种强大的编程语言,已经成为了最流行的编程语言之一。在C++中,实现二分法查找非常简单,只需要使用数组和循环语句即可。

下面是C++实现二分法查找的代码示例:


#include<iostream>

using namespace std;

int binarySearch(int arr[], int n, int target) {

  int left = 0, right = n-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; // 没有找到目标元素

}

int main() {

  int arr[] = 7;

  int n = sizeof(arr) / sizeof(int);

  int target = 5;

  int result = binarySearch(arr, n, target);

  if (result == -1)

    cout << "目标元素不存在" << endl;

  

  else

    cout << "目标元素的下标是:" << result << endl;

  

  return 0;

}

在上面的代码中,通过定义一个函数binarySearch来实现二分法查找,函数的参数包括需要查找的数组,数组长度以及目标元素。该函数的返回值为目标元素在数组中的下标,如果目标元素不存在,则返回-1。

通过使用C++实现二分法查找,可以使程序具有更高的效率,并且可以减少循环次数,提高查找速度。因此,在实际的开发中,C++实现二分法查找是非常实用且常用的技巧。

  
  
下一篇: C++编程100例

评论区

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