以下是C语言程序折半查找问题,十分不理解

发布网友

我来回答

1个回答

热心网友

折半查找是这样的,从中间开始,如果查找值(key)比中间值大,说明key应该在中间——最后的部分~如果key比中间值小,说明key应该在最前面——中间的位置~很好理解~
所以if(m<a[mid]);high=mid-1;//key小于中间值,应该从开始——中间继续比较~这时low就是开始,不用变~
else
if(m>=a[mid]);
low=mid+1;//说明key大于当前的中间值,应该从中间——最后找~high不变~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com