【发布时间】:2015-07-21 20:38:04
【问题描述】:
如果哈希表的索引是通过使用从hash() 函数% TABLE_SIZE 返回的某个整数值来计算的,这是否意味着唯一可能的索引值是 0-9,因为返回值的范围对于模运算符是 [0, 9]?我知道这很简单,但它阻碍了我进一步理解哈希表的概念。
【问题讨论】:
-
也许我应该更具体一点 - 如果通过调用 NUMBER % TABLE_SIZE 来获取哈希表索引值,其中 NUMBER 始终是正整数,这不是总是返回 0-9 之间的值吗?
-
那么你的问题是什么?
-
没有。
x % y可以给出 0 到 y-1 范围内的值。 -
如果x总是大于y,而且都是整数,怎么能返回不在[0, 9]中的东西?
-
我认为您对模运算符有一个基本的误解。简单示例:150 % 100 = 50
标签: c data-structures hashtable