试编写利用折半查找确定记录所在块的分块查找算法。并讨论在块中进行顺序查找时使用“监视哨”的优缺点,以及必要时如何在分块查找的算法中实现设置“监视哨”的技巧。
int Search_IdxSeq(IdxSqList L,int key)//分块查找,先用折半查找法确定记录所在块,块内采用顺序查找法 { if(key>L.idx[L.blknum].maxkey) return ERROR; //超过最大元素 low=1;high=L.blknum; found=0; while(low<=high&&!found)// 折半查找记录所在块号mid { mid=(low+high)/2; if(key<...
一组无序的数据中确定某一个数据的位置,只能使用()算法。A.顺序查找B.折半查找C.树形查找D.散列查找的正确答案和题目解析
百度试题 题目对于无序列表使用的查找算法是( )。 A.顺序查找B.折半查找C.冒泡查找D.排序查找相关知识点: 试题来源: 解析 A
int BinSearch(T A[],int low,int high,T key)//递归实现折半查找 { int mid;// 初始化中间值的位置 T midvalue;// 初始化中间值 if (low>high){ s=A[high];d=A[low];ss=high;dd=low;return -1;}// 如果low的值大于high的值,输出-1,并且将此时的low与high的值存储。else {...