1) 初始化B[M]与O[N]中的每个存储单元为无效地址值InvalidAdrr (令InvalidAdrr = -1);

2) 遍历V[N]中的每个条数据记录V[i] (0 ≤ i < N):

{

计算V[i]的哈希函数值h(V[i]),记为j,则考察B[j]值:

{

若B[j]=InvalidAdrr,则将B[j]赋为i;否则考察O[k]值:

{

若O[k]=InvalidAdrr,则将O[k]赋为i;

否则进行如下循环:

While(O[k]≠InvalidAdrr)

{

k =O[k];

}

将O[k]赋为i。

}

}

}