0001 /****************************************************************************************** 0002 * 沿关键码k的试探链,找到与之匹配的桶;实践中有多种试探策略可选,这里仅以线性试探为例 0003 ******************************************************************************************/ 0004 template <typename K, typename V> Rank Hashtable<K, V>::probe4Hit( const K& k ) { 0005 for ( Rank r = hashCode( k ) % M;; r = ( r + 1 ) % M ) //按除余法确定起点,线性试探 0006 if ( ht[r] && ( k == ht[r]->key ) || !ht[r] && !removed->test( r ) ) //跳过懒惰删除的桶 0007 return r; //只要N+L < M,迟早能终止 0008 }