21xrx.com
2024-12-22 23:20:07 Sunday
登录
文章检索 我的文章 写文章
C++代码提供:二分查找并输出结果
2023-07-08 13:14:27 深夜i     --     --
C++ 二分查找 输出结果

二分查找是一种常见的查找算法。在有序的数组或列表中进行查找时,该算法可以快速定位到所需的元素。本文将介绍如何使用C++代码实现二分查找,并输出查找结果。

首先,需要确定要查找的元素和要查找的数组(或列表)。为了方便起见,本文将使用一个有序的整数数组。下面是一个示例数组:

int arr[] = 7;

接下来,就可以编写二分查找的代码了。二分查找的基本思路是:通过比较要查找的元素和数组的中间元素,来确定要查找的元素位于数组的左半部分还是右半部分。如果要查找的元素等于中间元素,则查找结束;如果要查找的元素小于中间元素,则继续在左半部分查找;如果要查找的元素大于中间元素,则继续在右半部分查找。

下面是二分查找的C++代码:

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

  int left = 0;

  int right = size - 1;

  while (left <= right) {

    int mid = (left + right) / 2;

    if (arr[mid] == target)

      return mid;

     else if (arr[mid] < target) {

      left = mid + 1;

    } else

      right = mid - 1;

  }

  return -1;

}

这段代码中,binarySearch函数接受三个参数:要查找的数组arr,数组的大小size,和要查找的元素target。该函数返回要查找的元素在数组中的索引位置,如果未找到则返回-1。

函数中的while循环负责不断缩小查找范围,直到找到要查找的元素或者确定该元素不在数组中。循环中,首先计算出中间元素的位置mid;然后通过比较要查找的元素和中间元素的大小关系,来缩小查找范围。如果要查找的元素等于中间元素,则查找结束;否则,如果要查找的元素小于中间元素,则接下来只需要在左半部分查找;如果要查找的元素大于中间元素,则接下来只需要在右半部分查找。

最后,使用以下代码可以测试二分查找的结果:

int target = 11;

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

if (index == -1)

  cout << "Not found" << endl;

else

  cout << "Found at index " << index << endl;

这段代码中,首先定义要查找的元素为11,然后使用binarySearch函数在arr数组中查找该元素。如果找到了,则输出该元素在数组中的索引位置;否则,输出"Not found"。

综上所述,使用C++代码实现二分查找并输出结果非常简单。只需要按照以上步骤来编写代码即可。

  
  

评论区

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