【Test-9-2】下面算法的功能是:编写一个递归算法实现在有序顺序表上的折半查找。算法的参数表中应增加两个形参 left 和 right,分别指定算法在本层执行时的查找区间的左、右端点。当查找成功时函数返回查找到的元素的存放位置;当查找不成功时函数返回-1。 请在空白处填入正确的语句。 递归算法的首部为 int binarySearch ( seqList &L, DataType x, int left, int right )。主程序的调用方式为 { int loc = binarySearch( L, x, 0, L.n-1 )。 int binarySearch(seqList &L, DataType x, int left, int right) { //在查找区间[left..right]采用折半查找算法查找与给定元素匹配的元素。 int mid = ________①_______; if(__________②_______) { mid = (left + right) / 2; if(________③_________) mid = binarySearch1(L, x, _____④_______, right); //右缩区间 else if(x < data[mid]) mid = binarySearch(L, x, left, ______⑤_______); //左缩区间 } return _______⑥_________; };
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!