下面函数用“折半查找法”从有n个数的a数组中对关键字m查找,若找到,返回其下标值,否则返回-1,请填空。
举一反三
- 设计函数binarySerach,应用折半查找法从整型a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1
- 折半查找的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前,函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回-1。请填空。binary (int a[10],int m){ int low=0,high=9,mid;while (low<;=high){mid=(low+high)/2;if(m<;a[mid])____;else if(m>;a[mid])____ ;else return(mid);}return(-1);}
- 编写一个函数,其功能是从一个一维整型数组中寻找指定的一个数,若找到,返回该数在数组中的下标值,否则返回-1。
- 补充程序Ccon062.C,使程序中的fun()函数用二分法在按从小到大排好序的数组a中查找q,若找到第一个q则返回对应的下标,没找到返回-1。
- 折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有的10个整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之返回-1;请选择填空。 binary(int a[10],int m) {int low=0,high=9,mid; while(low<=high) {mid=(low+high)/2;if(m<a[mid]) ____; if(m>a[mid]) low=mid+1; else return(mid); } return(-1); }