21xrx.com
2024-12-27 04:37:40 Friday
登录
文章检索 我的文章 写文章
C++实现二分查找并输出
2023-07-05 00:24:59 深夜i     --     --
C++ 二分查找 实现 输出

二分查找是一种在有序数组中查找指定元素的常见算法。C++语言可以用简单的代码实现二分查找功能。本文将介绍如何使用C++语言实现二分查找功能并输出结果。

首先,我们需要定义一个有序数组。这个数组可以是静态的,也可以在程序运行时动态生成。假设我们要在一个有序数组中查找指定的元素,可以使用以下代码来定义数组:


int arr[] = 9;

接下来,我们需要定义一个函数实现二分查找的功能。该函数将接受三个参数:数组、数组的长度和要查找的元素。函数返回值为查找到的元素的下标位置。下面是二分查找函数的实现代码:


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

  int left = 0, right = len - 1, mid;

  

  while (left <= right) {

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

    

    if (arr[mid] == target)

      return mid;

     else if (arr[mid] > target)

      right = mid - 1;

     else if (arr[mid] < target) {

      left = mid + 1;

    }

  }

  

  return -1;

}

该函数中,我们用left和right表示数组的起始位置和终止位置,用mid表示数组中间位置的下标。在while循环中,我们不断地将目标元素与mid位置上的元素进行比较,然后根据比较结果调整left和right的值。当找到目标元素时,返回mid的位置。如果没有找到,则返回-1。

最后,我们可以在主函数中调用这个函数来实现查找并输出结果。如下代码所示:


int main() {

  int arr[] = 1;

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

  int target = 5;

  

  int index = binarySearch(arr, len, target);

  if (index == -1)

    cout << "Element not found." << endl;

   else

    cout << "Element found at position: " << index << endl;

  

  

  return 0;

}

该代码中,我们在主函数中定义了一个有序数组,以及要查找的元素。我们先使用sizeof运算符和sizeof(int)来计算数组的长度,然后将其作为参数传递给二分查找函数。最后,根据查找结果输出相应的信息。

总的来说,C++语言提供了一种快速、简单的方式来实现二分查找,这是一种基础性的算法,在日常开发中也是非常有用的。通过这篇文章,你应该已经知道如何使用C++语言实现二分查找,并顺便了解了一些相关的概念和技巧。

  
  

评论区

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