void insert( key, r )
typekey key; dataarray r;
{ extern int n;
int i, last;
i = hashfunction( key ) ;
last = (i+m-1) % m;
while ( i!=last && !empty(r[i]) && !deleted(r[i]) && r[i].k!=key )
i = (i+1) % m;
if (empty(r[i]) || deleted(r[i]))
{
/*** insert here ***/
r[i].k = key;
n++;
}
else Error /*** table full, or key already in table ***/;
}
|