我正在学习编程,在学校书中它说明了给定键x,哈希表A []和哈希函数h()键x它存储在A [h(x)-1]位置(使用C ++实现) )。 然而,使用函数h(x)= xmodM作为散列函数,其中M是散列表的长度,我不知道存储具有mod 0的键的位置。 例如,如果M = 10且x = 60,那么我应该存储键值? 提前谢谢!
答案 0 :(得分:1)
这取决于h()
的定义方式,如果它接受以1开头的值,那么这就是您在此公式中-1
h(x)-1
的原因:0
。 c ++中的数组从0开始编制索引。
如果您在c ++中计算60除以10的提示,那么您将获得值60 % 10 = 0
({{1}})。在这种情况下,减去-1是没有意义的。