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