试编写利用折半查找确定记录所在块的分块查找算法。并讨论在块中进行顺序查找时使用“监视哨”的优缺点,以及必要时如何在分块查找的算法中实现设置“监视哨”的技巧。
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<...