二分查找的递归算法
#include<cstdio>
#include<algorithm>
using namespace std;
int binarySearch(int A[],int left,int right,int key){
int mid = left + (right-left)/2;
if(A[mid]==key) return mid;
else if(A[mid]<key) return binarySearch(A,mid+1,right,key);
else {
return binarySearch(A,left,mid-1,key);
}
}
int main(){
int A[10] = {4,5,1,3,9,11,2,0,23,10};
printf("%d\n%d",binarySearch(A,0,9,23),A[binarySearch(A,0,9,23)]);
}
本文通过一个C++代码示例介绍了如何使用递归实现二分查找算法,该算法在有序数组中查找特定元素。代码中定义了binarySearch函数,根据中间元素与目标值的比较进行递归调用,最终找到目标元素的索引。在main函数中,展示了在给定数组中查找23的过程,并打印出其索引。
3341

被折叠的 条评论
为什么被折叠?



