二分查找递归算法c++
时间: 2023-10-14 22:13:20 浏览: 133
二分查找C++
5星 · 资源好评率100%
以下是二分查找递归算法的C语言代码:
```
int binarySearch(int arr[], int low, int high, int key) {
if (high < low) {
return -1;
}
int mid = low + (high - low) / 2;
if (key == arr[mid]) {
return mid;
} else if (key < arr[mid]) {
return binarySearch(arr, low, mid - 1, key);
} else {
return binarySearch(arr, mid + 1, high, key);
}
}
```
其中,arr为已排序的数组,low和high分别为数组的起始位置和结束位置,key为要查找的元素。
首先判断high是否小于low,如果是,则返回-1,表示未找到。否则,计算中间位置mid,并将key与arr[mid]进行比较。如果相等,则返回mid,表示找到了该元素。如果key小于arr[mid],则递归查找前半部分数组,即low到mid-1位置的元素。否则,递归查找后半部分数组,即mid+1到high位置的元素。
阅读全文