21xrx.com
2024-12-23 00:05:19 Monday
登录
文章检索 我的文章 写文章
C++实现二分查找算法
2023-06-30 04:14:24 深夜i     --     --
C++ 二分查找算法 实现

二分查找算法是一种常见的查找算法。在需要查找一些有序数组中的元素时,二分查找算法可以显著地提高查找效率。 C++语言中可以通过以下代码实现二分查找算法:


#include<iostream>

using namespace std;

int binarySearch(int arr[], int left, int right, int x)

{

  while (left <= right) {

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

    if (arr[mid] == x)

      return mid;

    if (arr[mid] < x)

      left = mid + 1;

    else

      right = mid - 1;

  }

  return -1;

}

int main()

{

  int arr[] = 2;

  int n = sizeof(arr) / sizeof(arr[0]);

  int x = 10;

  int result = binarySearch(arr, 0, n - 1, x);

  (result == -1) ? cout << "Element is not present in array"

          : cout << "Element is present at index " << result;

  return 0;

}

在这个例子中,我们首先定义了一个函数binarySearch,该函数接受四个参数:有序数组arr,数组左边的位置(即0),数组右边的位置(即n-1)以及要查找的元素x。

函数使用while循环进行迭代查找,如果找到了x,它将返回元素的索引。如果未找到,则返回-1。

在主函数中,我们实例化一个有序数组,使用函数binarySearch来查找元素10的索引。

总体而言,C++语言的二分查找算法实现简单,但极其实用。通过使用这个函数,可以快速准确地查找有序数组中的元素。

  
  

评论区

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