typedef struct
{
int maxKey;
int low,high;
}indexElem;
inedexElem index[3];
int keys[15];

在查找某元素时,先对索引元素表中做折半查找,
当high<low时,折半查找结束,这时应该在low所指的块中进行“顺序查找”
int findBlock(int arr[ ] ,int low, int high, int key){
while(low <= high )
{
int mid =(low + high) /2;
if (arr [mid] == key)
return mid;
else if (arr[mid] > key)
high=mid-1;
else
loW=mid+1;
}
return 0;
}
int Block_Search(int arr[],inedexElem index[],int key,int n,int b)
{
int i=0,j,k;
low=1;high=ST.length;
int 块的起始位置=findBlock(arr,0, 2,9);
for (int k = index[块的起始位置].low ; k < index[块的起始位置].high; k++) {
if (key == st[k]) { return k; }
}
}
平均查找长度几乎是两部分查找长度的求和查找长度分析