int block_search(int key,int a[]) //自定义实现分块查找 { int i,j; i=1; while(i<=3&&key>index_table[i].key) //确定在哪个块中 i++; if(i>3) //大于分得的块数,则返回0 return 0; j=index_table[i].start; //j等于块范围的起始值 while(j<=index_table[i].end&&a[j]!=key...
i=idx[low1].low是块中第一个元素的起始位置的值 int blksearch(sqlist r,index idx,find=0,hb;) // bn为块个数 // { int i,;low=1,high1=bn,midl,find=0,hb;while(low1<=high1&&!find){mid=(low1+high1)/2;if(k<idx[mid1].key)high1=mid-1;else if(k>idx[mid1],k...