21xrx.com
2025-03-27 18:35:19 Thursday
文章检索 我的文章 写文章
C++实现二分法查找
2023-07-01 01:09:43 深夜i     9     0
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例

评论区