21xrx.com
2024-12-22 22:28:42 Sunday
登录
文章检索 我的文章 写文章
C++实现二分查找算法的代码
2023-06-23 08:27:50 深夜i     --     --
C++ 二分查找 实现 算法 代码

二分查找算法是一种高效的查找方式,它适用于有序的数组或列表。而C++作为一门常用的编程语言,也提供了实现二分查找的代码库。下面是C++实现二分查找算法的代码:


int binarySearch(int arr[], int l, int r, int x) {

  if (r >= l) {

    int mid = l + (r - l) / 2;

    if (arr[mid] == x)

      return mid;

    if (arr[mid] > x)

      return binarySearch(arr, l, mid - 1, x);

    return binarySearch(arr, mid + 1, r, x);

  }

  return -1;

}

这段代码的实现思路是将数组或列表中的元素一分为二,然后判断目标元素与中间元素的大小关系,再递归执行上面的过程,直到找到目标元素或无法继续分割。

在这段代码中,参数arr可以是数组或列表,参数l表示左边界,参数r表示右边界,参数x表示目标元素。如果目标元素在数组或列表中存在,函数返回目标元素在数组或列表的下标,否则返回-1。

要使用这段代码,只需要调用该函数传入对应的参数即可。例如:


int arr[] = 1;

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

int x = 7;

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

if (result == -1)

  cout << "Element not present";

else

  cout << "Element found at index " << result;

这段代码将在数组arr中查找目标元素x,如果找到了则输出元素在数组中的下标,否则输出“Element not present”。

总之,C++实现二分查找算法的代码是一种高效、可靠的查找方式,可用于数组或列表等数据结构的快速查找。

  
  

评论区

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