0

クラスの場合、バインディングの数が特定の値 (509、1021、2039、4093 など) に達したときに拡張される、動的に拡張するハッシュ テーブルを作成する必要があります。テーブルが次に展開されます。

列挙を使用することになっていると思いますが、「次の」列挙値を取得する方法がわかりません。つまり、ハッシュ テーブルに現在 1022 個のバインディングがある場合、基になる配列をサイズ 2039 に拡張する必要がありますが、その方法を知るにはどうすればよいでしょうか? それとも、これに間違った方法でアプローチしていますか?

これがばかげた質問である場合は事前に申し訳ありませんが、私の本では扱われておらず、Cに関してはまだ非常に新しいです.

4

1 に答える 1

1

C では、この目的で列挙を使用することはできません。

おそらく、しきい値を定数配列に入れ、現在のしきい値を指すインデックスを維持する必要があります。

const int thresholds[] = { 509, 1021, 2039, 4093 };

int i_thresh = 0;

...

if (num_elements > thresholds[i_thresh])
{
    i_thresh++;
}
于 2011-10-27T00:33:52.393 に答える