问题
问答题
写出二分查找的递归算法。
答案
参考答案:
解析:int binlist(datatype a[n];int s,t;datatype x) /*n为元素个数,s,t分别为查找区间的上、下界*/ { if(S>t)return(0); /*查找失败*/ else{ mid=(s+t)/2; switch(mid)of { x<a[mid]:return(binlist(a,s,mid-1,x)); /*在低端区间上递归*/ x==a[mid]:return(mid); /*查找成功*/ x>a[mid]:return(binlist(a,mid+1,t,x)); /*在高端区间上递归*/ } } }