问答题 给出在一个递增有序表A中采用二分查找算法查找值为x的元素的递归算法。
【正确答案】每次在当前序列中取序列中点作为区域划分界限,然后对子区域分别递归地进行查找即可,代码如下: int binsearch(int A[],int l,int h,int x) { int m; if(l>h) return -1; //未找到,返回-1 else { m=(l+h)/2; if(x<A[m]) return(binsearch(A,l,m-1,x)); //在右段中查找 else if(x==A[m]) return m; //找到了,返回下标x else return(binsearch(A,m+1,h,x)); //在左段中查找 } }
【答案解析】