当前位置:首页 > 数据结构(02331) > 正文内容

函数BinSearch实现二分查找,请回答下列问题。
(1)在空白处填写适当内容,使函数功能完整。
(2)查找成功时函数的返回值是什么?
(3)查找失败时函数的返回值是什么?
intBinSearch(SeqListR,KeyTypek,intn)
{intlow=0,mid,high=n一1;
while(10w<=high){
mid=(1);
if(R[mid].key==k)
returnmid;
if(R[

高老师2年前 (2024-03-26)数据结构(02331)7

函数BinSearch实现二分查找,请回答下列问题。
(1)在空白处填写适当内容,使函数功能完整。
(2)查找成功时函数的返回值是什么?
(3)查找失败时函数的返回值是什么?
intBinSearch(SeqListR,KeyTypek,intn)
{intlow=0,mid,high=n一1;
while(10w<=high){
mid=(1);
if(R[mid].key==k)
returnmid;
if(R[mid].key>k)
high=mid一1;
else
low=mid+1;
}
return一1;
}

(1)(low +high)/2 (2)成功时返回待查元素所在的位置 (3)失败返回一1 解析:二分查找查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的后半部分继续查找;如果小于这个元素,就在当前序列的前半部分继续查找,直到找到相同的元素,或者所查找的序列范围为空为止。

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://doc.20230611.cn/post/431912.html

分享给朋友: