给定下列算法,请回答问题。
intBinSearch(SeqListR,KeyTypek,intlow,inthigh)
{
mtmid;
if(low<=high){
mid=(low+high)/2;
if(R[mid].key==k)retummid;
if(R[mid].key>k)
retumBinSearch(R,k,low,mid-1);
else
retumBinSearch(R,k,mid+l,high);
}
else
return0;
}
(1)请描述该算法的功能。
(2)给定R=(13,25,36,42,48,56,64,69,78,85.92),k=42,那么其返回值为多少?
【正确答案】:(1)对给定的一组关键字进行二分查找的算法; (2)4。 解析:根据所给程序,可判断出其为二分查找的算法。对于问题(2)给定的关键字序列,经过三次查找可查找出给定 的关键字,关键字所在的下标为4。