对于类,我需要创建一个动态扩展的哈希表,当绑定数量达到某个值时会扩展 - 509,1021,2039,4093等。我理解其他所有内容但我不确定如何检查该表应该扩展到下一个值。
我认为我们应该使用枚举,但我不明白如何获得“下一个”枚举值。即,如果我的哈希表当前有1022个绑定,我应该将底层数组扩展到2039,但我怎么知道怎么做?或者我是以错误的方式接近这个?
如果这是一个愚蠢的问题,请提前抱歉,但我的书中没有解决这个问题,而且在谈到C时我还是很新。
答案 0 :(得分:1)
您不能在C中使用枚举。
您可能希望将阈值放在一个常量数组中,并保持索引指向当前阈值:
const int thresholds[] = { 509, 1021, 2039, 4093 };
int i_thresh = 0;
...
if (num_elements > thresholds[i_thresh])
{
i_thresh++;
}