二分查找(递归实现)c++
时间: 2023-12-22 19:29:07 浏览: 110
C+++版二分查找
以下是C++中递归实现的二分查找的代码示例:
```cpp
int binarySearch(int a[], int low, int high, int key) {
if (low > high) {
return -1; // 该元素不存在
}
int mid = (low + high) / 2;
if (a[mid] == key) {
return mid; // 找到了该元素,返回下标
} else if (a[mid] > key) {
return binarySearch(a, low, mid - 1, key); // 在左半部分继续查找
} else {
return binarySearch(a, mid + 1, high, key); // 在右半部分继续查找
}
}
```
该函数接受一个有序数组a、数组的起始索引low、数组的结束索引high和要查找的元素key作为参数。它通过递归的方式在数组中查找元素key,并返回其下标。如果找不到该元素,则返回-1。
阅读全文