分块查找:分块查找又称索引顺序查找,它是顺序查找的一种改进方法。
方法描述:将n个数据元素“按块有序”划分为m块(m<=n)。每一块中的数据元素不必有序,但块与块之间必须“按块有序”,即第1快中的任一元素的关键字都必须小于第2块中任一元素的关键字;而第2块中任一元素又都小于第3块中的任一元素,……
图示分块如下:


< http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHN0cm9uZz6y2df3sr3W6KO6PC9zdHJvbmc+PC9wPgo8cD4xoaLPyNGhyKG497/s1tC1xNfutPO52Lz819a5ubPJ0ru49sv30v2x7TwvcD4KPHA+MqGisunV0rfWwb2yv7fWo7rPyLbUy/fS/bHtvfjQ0Lb+t9ay6dXSu/LLs9DysunV0qOs0tTIt7aotP2y6bzHwrzU2sTE0ru/6dbQo7vIu7rz1NrS0ci3tqi1xL/s1tDTw8uz0PK3qL340NCy6dXSoaM8L3A+CjxwPjxzdHJvbmc+t9a/6bLp1dLGvb75sunV0rOktsijujwvc3Ryb25nPjwvcD4KPHA+yeizpLbIzqputcSx7b751Mi12LfWs8liv+mjrMO/v+m6rNPQc7j2vMfCvKOs1PJiPW4vczs8L3A+CjxwPsuz0PKy6dXSy/nU2r/po6y31r/psunV0rXExr2++bLp1dKzpLbIPShiJiM0MzsxKS8yICYjNDM7IChzJiM0MzsxKS8yID0gKG4vcyYjNDM7cykvMiYjNDM7MaO7PC9wPgo8cD7V27DrsunV0sv51Nq/6aOst9a/6bLp1dK1xMa9vvmy6dXSs6S2yD1sb2cyKG4vcyYjNDM7MSkmIzQzO3MvMqO7PC9wPgo8cD7TxbXjo7rU2rHt1tCy5cjru/LJvrP90ru49rzHwrzKsaOs1rvSqtXStb24w7zHwrzL+dTav+mjrL7N1Nq4w7/p1tC9+NDQsuXI67vyyb6z/dTLy+OjqNLyv+zE2s7e0PKjrMv50tSyu9Do0qq088G/0sa2r7zHwryjqaGjPC9wPgo8cD7IsbXjo7rU9rzTwcvSu7j2uKjW+sr91+m1xLTmtKK/1bzkus29q7P1yryx7bfWv+nFxdDytcTUy8vjoaM8L3A+CjxwPtDUxNyjur3p09rLs9DysunV0rrNtv631rLp1dLWrrzkoaM8L3A+CjxwPsq+wP0oYmxvY2suYymjujwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">#include
编译:gcc block.c
运行:./a.out
测试结果:
index = 2.
mainindex = 10.